Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Node JS unable to execute asar archive

Pretty simple. I am on Windows 8, I used the asar module to package a folder containing a node app.

I ran node app.asar and got the error

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

where ? is clearly an invalid character.

Why does this archive contain invalid characters if I can run the app without issue before packaging it and asar archives are supposedly readable to a nodejs process

like image 248
Daniel Olivier Avatar asked Nov 05 '25 05:11

Daniel Olivier


1 Answers

You can't run asar packed file as normal Nodejs app, that's because asar is designed for Electron, not for ordinary Nodejs app. BUT! Try to install the electron as your project dependency or just ordinary modules

npm install electron

or install it globally

npm install -g electron

so you don't have to re install it on every project you have to run the packed asar file

and some notice: installing Electron is a bit longer because it's not normal modules

after you've done with the installation, try

electron file.asar

and test it if the app run as normal nodejs app

EDIT: maybe some time in near future you want try to package your "Nodejs App" with asar so the clien't wouldn't see your source code, and then deploy it to your client

here is the Electron way to publish your Electron App ( but perhaps, it can be used for another app as well ) GitHub Link

like image 66
deanrihpee Avatar answered Nov 06 '25 20:11

deanrihpee



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!