Node JS 无法执行 asar 存档

Dan*_*ier 3 javascript node.js asar

很简单。我在 Windows 8 上,我使用 asar 模块打包了一个包含节点应用程序的文件夹。

我跑了node app.asar,得到了错误

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

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

如果我可以在打包之前毫无问题地运行该应用程序,并且 asar 存档文件对于 nodejs 进程来说是可读的,那么为什么此存档文件包含无效字符

dea*_*pee 5

你不能像普通的 Nodejs 应用程序一样运行 asar 打包文件,这是因为 asar 是为Electron设计的,而不是为普通的 Nodejs 应用程序设计的。但!尝试将电子安装为您的项目依赖项或只是普通模块

npm install electron
Run Code Online (Sandbox Code Playgroud)

或全局安装

npm install -g electron
Run Code Online (Sandbox Code Playgroud)

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

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

安装完成后,尝试

electron file.asar
Run Code Online (Sandbox Code Playgroud)

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

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

这是发布您的电子应用程序的电子方式(但也许,它也可以用于另一个应用程序) GitHub 链接