2017-09-22 36 views
2

我寫電子應用與ClojureScript和得到這個怪異的行爲:ClojureScript電子應用__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) 

正如你所看到的,__dirname解決的 - 主要功能很好,但它在返回nil我電子「準備好」回調。爲什麼它不在回調中工作?

回答

0

我不確定這是否能解決它,但您可以嘗試使用js/__dirname而不是js*js*是ClojureScript使用的內部函數,不適用於公開使用AFAIK。