execFile不适用于phantomjs和highcharts

execFile不适用于phantomjs和highcharts

我写了一个生成高图图像的nodejs程序,看起来像这样。

var phantom = require('phantomjs');
var childProcess = require('child_process');
var childArgs = [
    '/usr/bin/Export/highcharts-convert.js',
    '-infile',
    '/usr/bin/infile.json',
    '-outfile',
    '.png',
    '-constr',
    'Chart',
    '-callback',
    '/usr/bin/callback.js'
];
childProcess.execFile(phantom.path, childArgs, null, function(error, stdout, stderr) {
    console.log(error);
    console.log(stdout);
    console.log(stderr);
}


在这里,我将标准输出作为空字符串获取。

但是,当我从终端执行相同的命令时,我在控制台上得到了png输出。
从终端:

/usr/bin/Export/node_modules/phantomjs/lib/phantom/bin/phantomjs /usr/bin/Export/highcharts-convert.js -infile /usr/bin/infile.json -outfile .png -constr Chart -callback /usr/bin/callback.js


通过在终端上执行此命令,我得到了png输出。但是当我运行程序时,我在标准输出中得到空字符串。那么,还有其他需要配置的东西吗?

提前致谢..

最佳答案

将超时从30000设置为0对我有用。幻影脚本执行需要一些时间,

childProcess.execFile(phantomjs.path, args, {timeout: 0 }, function(outErr, stdout, stderr) {})


您可以检查超时值吗?

关于javascript - child_process.execFile不适用于phantomjs和highcharts-convert.js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35144433/

10-11 04:46