5

我正在关注有关使用 casperjs 编写模块的文档,但出现错误。

直接来自文档的代码:

// my module, stored in universe.js
// patching phantomjs' require()
var require = patchRequire(require);

// now you're ready to go
var utils = require('utils');
var magic = 42;
exports.answer = function() {
    return utils.format("it's %d", magic);
};

和调用脚本:

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


console.log(universe.answer());

casper.test.begin("Home Page", 1, function suite(test) {

});

但我收到以下错误:

casperjs test testStage.js
Test file: testStage.js
CasperError: Can't find module ./universe
  /usr/local/Cellar/casperjs/1/libexec/bin/bootstrap.js:214 in patchedRequire
  /Users/smosk/Google Drive/source/nest/testStage.js:1
FAIL CasperError: Can't find module ./universe
#    type: error
#    file: testStage.js
#    subject: false
#    error: "CasperError: Can't find module ./universe"
#    stack: in patchedRequire() in /usr/local/Cellar/casperjs/1/libexec/bin/bootstrap.js:214
in anonymous() in testStage.js:1
FAIL 1 test executed in 0.031s, 0 passed, 1 failed, 0 dubious, 0 skipped.

Details for the 1 failed test:

In testStage.js
  Untitled suite in testStage.js
    error: CasperError: Can't find module ./universe

还尝试先定义 casper:

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

但这只是导致

Test file: testStage.js
CasperError: Can't find module ./universe
  /usr/local/Cellar/casperjs/1/libexec/bin/bootstrap.js:214 in patchedRequire
  /Users/smosk/Google Drive/source/nest/testStage.js:2
4

4 回答 4

5

您应该尝试升级到 CasperJS 的最新主版本,因为我提出的这个拉取请求应该可以解决您遇到的问题。

但是,如果您不想升级,也可以尝试使用以下命令运行 C​​asperJS:

casperjs test ./testStage.js
于 2013-08-21T01:28:35.603 回答
4

对于像我这样可能是白痴的其他人,您可能需要确保在 cmd 中使用 casperjs 而不是 phantomjs

于 2013-12-03T19:24:50.893 回答
1

我刚刚花了两个小时试图调试这个问题:

C:\casperjs>casperjs
CasperError: Can't find module cli

  C:\casperjs\bin\bootstrap.js:262 in patchedRequire
  C:\casperjs\bin\bootstrap.js:375
  C:\casperjs\bin\bootstrap.js:395

我使用的是 PhantomJS 1.9.0,但我发现我必须升级到 1.9.2,它立即开始工作。我希望这对其他人有帮助。

于 2013-12-04T13:02:20.047 回答
1

有类似的问题。我的似乎是由https://github.com/n1k0/casperjs/issues/587的合并引起的。回到 1d1e83ba3c9241623 解决了我的问题

于 2013-08-28T08:27:34.213 回答