在我的 main.js 中,我有:
var mainFrm = require('./MainFrm');
除非应用程序被打包为 asar 文件,否则它工作正常。我收到“找不到模块”错误。
文档声明使用以下内容:
require('/path/to/example.asar/dir/module.js');
我试过了,但得到了同样的错误。使用上面的路径从哪里开始?路径是否以 electron.exe 开头?另外,如果我使用 require('/resources/app.asar/MainFrm.js'),我应该为 OS X 应用程序使用什么路径,因为 Resources 文件夹位于不同的位置?在开发/调试期间我应该使用什么路径(即不在 asar 内部)
最佳答案
我认为您可能有 2 个问题。首先,您可能需要明确文件扩展名,因此寻找 MainFrm.js
,而不仅仅是 MainFrm
。其次,尝试使用 resolve
确定相对于当前目录的名称。
解决这个问题的一种方法是在运行时解析路径,如下所示:
var mainFrm = require("path").resolve(__dirname, "./MainFrm.js");
尝试一些组合,看看是否有帮助。
关于javascript - 当 Electron 应用程序打包在 asar 中时使用 require,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36487995/