2017-09-22 2 views
2
gibt

Ich schreibe Electron App mit ClojureScript und dieses seltsame Verhalten bekommen:ClojureScript Electron App __dirname nil

(ns hello-world.core 
    (:require [cljs.nodejs :as nodejs])) 

(nodejs/enable-util-print!) 

(def electron (nodejs/require "electron")) 

(def app (.-app electron)) 

(defn on-ready [] 
    (prn (js* "__dirname"))) ; => nil 

(defn -main [& args] 
     (prn (js* "__dirname")) ; => "/Users/alex/source/electron-cljs/out" 
     (.on app "ready" on-ready)) 

(set! *main-cli-fn* -main) 

Wie Sie sehen können, ist __dirname fein in -main Funktion gelöst, aber es gibt null in meinem Elektron "bereit" Callback. Warum funktioniert es nicht innerhalb des Rückrufs?

Antwort

0

Ich bin mir nicht sicher, ob das es für Sie beheben wird, aber Sie könnten versuchen, js/__dirname anstelle von js* zu verwenden? js* ist eine interne Funktion, die von ClojureScript verwendet wird, und nicht für den öffentlichen Gebrauch AFAIK.