节点 JS:"electron.asar" 文件的电子问题

Node JS: Electron problem with "electron.asar" file

我有一个用 Electron 打包的 NodeJS 应用程序来创建一个 Windows x64 可执行文件。 打包后的应用程序在大多数电脑上运行良好,但我不知道为什么,在某些电脑上,应用程序随机失败。

错误堆栈为:

"Error: ENOENT: no such file or directory, open 'C:\app\app-desktop-win32-x64\resources\electron.asar\browser\api\dialog.js'
    at Object.openSync (fs.js:453:3)
    at Object.func [as openSync] (electron/js2c/asar.js:138:31)
    at Object.readFileSync (fs.js:353:35)
    at Object.fs.readFileSync (electron/js2c/asar.js:580:40)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:850:22)
    at Module.load (internal/modules/cjs/loader.js:701:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:633:12)
    at Function.Module._load (internal/modules/cjs/loader.js:625:3)
    at Module.require (internal/modules/cjs/loader.js:739:19)
    at require (internal/modules/cjs/helpers.js:14:16)"

有人解决过这个错误吗?有什么想法或建议吗?

在某些 PC 中,重命名包含该应用程序的文件夹时错误会消失,但在一台 PC 中,错误会一直存在。

终于,我找到了如何做到这一点。

我在打包和分发我的应用程序之前手动提取了 asar 文件,问题消失了。 有点乏味,但这是对所有 PC 都有效的独特解决方案。