节点 JS 无法执行 asar 存档

Node JS unable to execute asar archive

很简单。我在Windows 8,我用asar模块打包了一个包含node app的文件夹。

我 运行 node app.asar 得到了错误

SyntaxError: Unexpected token ILLEGAL at exports.runInThisContext (vm.js:53:16) "(function (exports, require, module, __filename, __dirname) { ?"

在哪里?显然是无效字符。

如果我可以 运行 应用程序在打包之前没有问题,为什么这个存档包含无效字符并且 asar 存档应该可以被 nodejs 进程读取

你不能 运行 asar 打包文件作为普通的 Nodejs 应用程序,那是因为 asar 是为 Electron 而设计的,而不是为普通的 Nodejs 应用程序设计的。但!尝试安装 electron 作为你的项目依赖或者只是普通模块

npm install electron

或全局安装

npm install -g electron

所以你不必在每个项目上重新安装它你必须 运行 打包的 asar 文件

还有一些注意事项:安装 Electron 的时间有点长,因为它不是普通模块

完成安装后,尝试

electron file.asar

并测试它是否应用程序 运行 作为普通的 nodejs 应用程序

编辑: 也许在不久的将来你想尝试用 asar 打包你的“Nodejs 应用程序”这样客户端就不会看到你的源代码,然后将它部署到你的客户端

这是发布 Electron 应用程序的 Electron 方式(但也许它也可以用于其他应用程序) GitHub Link