来自node.js的phantomjs调用使用spawn似乎不执行脚本

我试图从动态车把网页生成一个pdf文件,该网页将显示数据库中的数据.一旦我在本地机器上运行,我想将代码移到弹性beanstalk.代码似乎运行,最初调用spawn,但是,调用phantomjs似乎没有启动传递给它的脚本.为了确认,我在文件的最开头添加一个console.log语句,而不是打印输出.更不用说脚本文件中的其他print语句了.代码如下:

code that performs the spawn:
var childArgs = [
                  //'--debug=true',path.join(__dirname,'../phantom/capture.js'),id,filename
                ];

            let child = spawn(phantomjs.path,childArgs,{detached: false});

            console.log('set up stderr.....');
            child.stderr.on('data',(data) => {
              console.log('ps stderr: ${data}');
            });

            console.log('set up stdout.....');
            child.stdout.on('data',(data) => {
              console.log('ps stdout: ${data}');
            });

            console.log('set up close.....');
            child.on('close',(code) => {
                console.log('this is a test 2.....');
                console.log(code);
                if (code !== 0){
                    let error = new Error('An error occurred while creating the current report.');
                    error.status = 500;
                    reject(error);
                }

                resolve(fname);
                return;
            });




capture.js:
console.log('we are inside....');
let os = require('os');
var system = require('system');
console.log('we are inside.... 1');
var page = require('webpage').create();
let phantom = require('phantomjs-prebuilt');
console.log('we are inside....2');
var args = system.args;
console.log('we are inside....3');

if (args.length === 1) {
  phantom.exit(0);
} else {
    page.viewportSize = { width: 2000,height: 800 };
//page.paperSize = { format: 'Letter',orientation: 'landscape',margin: '1cm' };
page.paperSize = { width: '1280px',height: '800px',margin: '0px' };
page.settings.localToRemoteUrlAccessEnabled = true;
page.settings.loadImages = true;
page.settings.javascriptEnabled = true;

let done = false;
//"http://example.com/order/" + args[1] + '?token=' + args[2]
page.open("http://example.com/order/" + args[1],function start(status) {
  if (status === "success"){
      page.render(os.tmpdir() + '/' + args[2],{ format: 'pdf' });
  }

  done = true;
});

var intervalId = setInterval(function(){
    if (done){
        phantom.exit();
    } 
},100);
}

我对问题所在的地方感到茫然. capture.js的第一行似乎没有被调用. 1)我错过了什么问题? 2)我该如何解决

解决方法

问题可能是由于安全原因,PhantomJS无法使用带点的路径运行capture.js.例如,尝试从当前目录运行capture.js.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...