4

很简单。我在 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 进程可读,为什么这个归档文件包含无效字符

4

1 回答 1

7

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

npm install electron

或全局安装

npm install -g electron

因此,您不必在必须运行打包的 asar 文件的每个项目上重新安装它

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

完成安装后,尝试

electron file.asar

并测试应用程序是否像正常的 nodejs 应用程序一样运行

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

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

于 2017-02-08T09:04:53.577 回答