node.js:错误:找不到模块

时间:2017-11-15 12:42:23

标签: node.js phantomjs

为什么我会收到此错误?

Node v8.9.1

var childProcess = require('child_process'),
    phantomjs = require('/var/bin/node_modules/phantomjs-prebuilt');

console.error = function(){
    require('system').stderr.write(Array.prototype.join.call(arguments, ' ')+'\n');
    phantomjs.exit(1);
};

console.log('hey', phantomjs.path)
console.error('error')

childProcess.execFile(phantomjs.path, require('system').args, function(err, stdout, stderr){
    if(err){
        console.error(err);
    }

    if(stderr){
        console.error(stderr);
    }

    console.log(stdout);
});

错误

# /var/bin/node_modules/phantomjs-prebuilt/bin/phantomjs phantom.js
Error: Cannot find module 'path'

  phantomjs://platform/bootstrap.js:299 in require
  phantomjs://platform/bootstrap.js:263 in require
  phantomjs://platform/phantomjs.js:10
hey undefined
TypeError: undefined is not a function (evaluating 'phantomjs.exit(1)')

  phantomjs://code/phantom.js:6 in error
error

1 个答案:

答案 0 :(得分:3)

system不是Node内置模块it's part of PhantomJS。如果您只是使用标准node命令运行脚本,则无法使用它。 As shown in the documentation,您需要使用phantomjs命令,如下所示:

phantomjs phantom.js