节点JS无法执行asar archive
问题描述:
非常简单。我在Windows 8上,我用asar模块打包了一个包含节点应用程序的文件夹。节点JS无法执行asar archive
我跑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应用程序。但!尝试安装电子为您的项目依赖或只是普通的模块
npm install electron
或全球安装
npm install -g electron
,所以你不必再在你需要运行打包每一个项目进行安装ASAR文件
和一些注意事项:安装电子是有点长,因为它是不正常的模块
你已经完成了安装后,尝试
electron file.asar
并对其进行测试,如果应用程序运行正常应用的NodeJS
编辑: 也许有些时候你想尝试与ASAR打包“应用程序的NodeJS”所以clien't止跌不久的将来”看不到你的源代码,然后将其部署到客户端
这里是电子的方式来发布你的电子应用(但也许,它可用于其他应用程序也一样) GitHub Link
感谢您的回答。不幸的是,我需要节点进程作为服务运行,而电子拒绝这样做。我从那以后发现了其他解决方案 –
@DanielOlivier很高兴听到您有解决方案 – deanrihpee