2

我正在尝试运行一个存档在 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 文件或需要其中的脚本吗?谢谢你。

4

1 回答 1

2

For posterity, the answer to this is to require your .js file like so:

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);

Hope this helps.

于 2017-01-29T08:36:09.267 回答