node.js - ClojureScript Electron 应用程序 __dirname 返回 nil

标签 node.js clojure electron clojurescript

我正在使用 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/

相关文章:

javascript - NodeJS - 异步函数内的代码乱序执行

sql - 如何在 node.js 中使用 Spring MVC

exception - 在 Clojure : "apply"t know how to create ISeq from: java. lang.Long 中使用 "Don' 函数时出错”

javascript - 如何使 Electron 浏览器全屏大小?

javascript - 在输入类型 = 文件中没有选择文件的情况下提交表单超时

javascript - 在 webpack bundle 中运行 Webpack Dev Server

clojure - 环防伪中间件是否可以有条件应用?

Clojure:使用 {:keys [...]} 解构和重命名

reactjs - 我可以在React的另一个组件中重用一个组件的片段吗?

javascript - 在 Electron 中更改可拖动区域上的光标