2016-08-10 3 views
2

Ich schreibe einige cljs.test Tests für eine clojurescript Bibliothek und haben einige JSON Testdaten eine lokale Datei zu laden, würde ich in laden möchte.Wie für einen clojurescript Test

Ich bin nicht sicher, welche Funktion ich verwenden kann Laden Sie die Daten aus lokalen Dateien in das Projekt.

Ich verwende lein-doo als Test-Runner, zunächst mit einer Nodejs-Konfiguration, idealerweise würde ich gerne Dateien in agnostischer Weise laden, wenn möglich, aber ich würde mit einer Nodejs-spezifischen Antwort in Ordnung sein.

+1

Werfen Sie einen Blick auf http://stackoverflow.com/ a/34557616/597473 - behandelt das Laden einer lokalen Datei in CLJS, die in NodeJS ausgeführt werden. –

+0

Ahh danke, habe eine Antwort geschrieben, um diese Frage zu vervollständigen –

Antwort

1

Piotrek den Link Nach I mit folgenden NodeJS-only-Funktion, die dieses erreicht gekommen sind:

(defn node-slurp [path] 
    (let [fs (nodejs/require "fs")] 
     (.readFileSync fs path "utf8"))) 

(Node Dokumentation: File System - readFileSync)

+0

Das gibt mir den Fehler: 'Kein solcher Namespace: Nodejs, konnte Nodejs.cljs, Nodejs.cljc nicht finden, oder JavaScript-Quelle, die" Nodejs "' – Jim

+0

Verwenden Sie 'js/require', anstatt 'nodejs/require'. –