在ASAR存档中执行脚本

时间:2016-12-11 10:26:51

标签: node.js asar

我正在尝试运行一个在ASAR文件中存档的脚本,如下所示:

var spawn  = require('child_process').spawn;

var t = spawn('node', ['./bundle.asar/main.js'], {});

t.on('data', function(data){      
  console.log(data.toString());
});

t.stdout.pipe(process.stdout);
t.stderr.pipe(process.stderr);

仅供参考,上述脚本位于ASAR档案之外。 但是,我得到的是以下错误:

Cannot find module 'C:\Users\MyUser\tests\asar-test\bundle.asar\main.js'

关于这一特定问题的官方文件是不存在的。 有没有办法读取ASAR文件或在其中需要一个脚本? 谢谢。

1 个答案:

答案 0 :(得分:2)

对于后代,答案是require你的.js文件,如下:

var spawn  = require('child_process').spawn;
var myScript = require('./bundle.asar/main.js');

var t = spawn('node', [myScript], {});

t.on('data', function(data){      
  console.log(data.toString());
});

t.stdout.pipe(process.stdout);
t.stderr.pipe(process.stderr);

希望这有帮助。