使用CasperJs的子进程Node.js:找不到模块'casper';要求声明

时间:2015-06-13 10:05:19

标签: javascript node.js require casperjs child-process

我不确定我是否缺少对'require'的一般理解,但如果我尝试将casperJs包含到节点子进程中,我就无法使用模块casper。

parent.js

var exec = require('child_process').exec;
for (var i = 0; i < 3; i++) {
    exec('node child.js', {},
        function(err, stdout, stderr) {
            if (err) {
                throw err;
            }
            console.log(stdout);
        }
    );
};

child.js

var casper = require('casper').create({
    timeout: 180000
});
var meteorUrl = "http://hiddenURL/";

casper.start(meteorUrl, function(response) {
    var _status = response.status;
    if (_status == '200') {
        this.echo("Page: " + meteorUrl + " loaded.");
    } else {
        this.die("Page not loaded! [" + _status + "]", 1);
    }
});

casper.run();

终端

$ casperjs --version
1.1.0-beta3

$ casperjs child.js
Page: http://hiddenURL/ loaded.

$ node parent.js
Error: Cannot find module 'casper'

1 个答案:

答案 0 :(得分:2)

CasperJS不是node.js模块,这是错误消息实际上说的内容。它是一个独立的程序,只是为了方便而通过NPM安装。

更改

exec('node child.js', {},

exec('casperjs child.js', {},