如何在嵌套模块中要求模块? javascript

How to require module within nested module ? javascript

我有以下项目结构:

WEBCONTENT /run.js
            utils /utils.js

这里是 run.js 文件:

var casper = require("casper").create();
var utils = require("../utils/utils");

这里是 utils.js 文件:

try{
 var x = require("casper").selectedPath;
}catch(error){
 console.log(error);//cannot find module casper
}

一旦我 运行 波纹管命令 :

casperjs run.js

我收到此错误:cannot find module casper 我尝试了其他路径,例如 ../casper./casper 。但运气不好!

请告诉我如何在 utils.js 中正确使用 require ?谢谢

请注意,我成功安装了 casperjs,没有问题!由于 run.js 中的要求有效,但是 utils.js 中的要求崩溃

抱歉,我首先认为这是一个 nodejs 问题,并留下了一些误导性的评论。事实证明这确实与 phantomJS 相关。

所以最简单的解决方案是对所有原生需求使用 patchRequire(例如所有与 casper 相关的模块。以下代码对我有用。

var require = patchRequire(require)
var casper = require('casper')