ClojureScript Electron app __dirname返回nil

我正在用ClojureScript写电子应用程序,并得到这个奇怪的行为:

(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在-main函数中parsing得很好,但是在我的电子“ready”callback函数中返回nil。 为什么不在callback里面工作?

我不知道这是否会解决它,但你可以尝试使用js/__dirname而不是js*js*是一个由ClojureScript使用的内部函数,而不是公开使用的AFAIK。