2016-12-07 82 views
0

非常简单。我在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进程

回答

1

您不能运行ASAR压缩文件作为正常的NodeJS应用程序,这是因为asar专为Electron而设计,不适用于普通Nodejs应用程序。但!尝试安装电子为您的项目依赖或只是普通的模块

npm install electron 

或全球安装

npm install -g electron 

,所以你不必再在你需要运行打包每一个项目进行安装ASAR文件

和一些注意事项:安装电子是有点长,因为它是不正常的模块

你已经完成了安装后,尝试

electron file.asar 

并对其进行测试,如果应用程序运行正常应用的NodeJS

编辑: 也许有些时候你想尝试与ASAR打包“应用程序的NodeJS”所以clien't止跌不久的将来”看不到你的源代码,然后将其部署到客户端

这里是电子的方式来发布你的电子应用(但也许,它可用于其他应用程序也一样) GitHub Link

+0

感谢您的回答。不幸的是,我需要节点进程作为服务运行,而电子拒绝这样做。我从那以后发现了其他解决方案 –

+0

@DanielOlivier很高兴听到您有解决方案 – deanrihpee