将asar包中的打包JS文件传递给生成的节点子进程



当尝试从运行node path/to/a/packed/file的电子(以前的原子壳)中生成node.js child_process时,我得到Cannot find module error,因为路径在app.asar存档内(其中asar是tar-like归档格式)。

Error: Cannot find module 'C:Program Files (x86)my-appresourcesapp.asarbootstrapdaemon'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

我理解这是因为未打补丁的节点试图在存档中找到bootstrap/daemon模块,就好像它是一个物理文件一样。

可以有人谁是更熟悉asar文档/代码建议解决这个问题?

我也在atom/electron GitHub repo上提出了一个问题。

从另一个相关问题的评论中添加{ATOM_SHELL_INTERNAL_RUN_AS_NODE : 0}的环境变量的建议有助于成功解决使用fork代替spawn的问题

更多细节可以在GitHub issue上看到

相关内容

  • 没有找到相关文章

最新更新