我正在使用 ClojureScript 编写 Electron 应用程序并得到这种奇怪的行为:
(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 函数中解析得很好,但在我的 Electron “就绪”回调中返回 nil。为什么它在回调中不起作用?
最佳答案
我不确定这是否可以解决您的问题,但您可以尝试使用 js/__dirname
而不是 js*
? js*
是 ClojureScript 使用的内部函数,据我所知不供公众使用。
关于node.js - ClojureScript Electron 应用程序 __dirname 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46373513/