2016-12-07 118 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