繁体   English   中英

当电子应用程序包装在asar中时使用require

[英]Using require when electron app is packaged in an asar

在我的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");

尝试一些组合,看看它是否没有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM