module - 使用 CasperJS 进行 Web 抓取会返回未记录的奇怪错误

标签 module phantomjs casperjs require fs

我用 CasperJS 编写了一个 Web 抓取脚本,它在 Mac OS 10.10.4 和 CasperJS 版本 1.1.0-beta3 和 PhantomJS 版本 1.9.8 上完美运行,但是当我将相同的脚本放在我的一台服务器上时,它是 Ubuntu 14.04(在 Docker 容器中运行)具有相同的环境(CasperJS 和 PhantomJS 都是相同的版本)它突然只输出以下内容:

I'm `fs` modules



这很奇怪。我的一个建议是,在这个脚本中,我还试图要求其他一些带有类似要求的脚本:
var parsingStrategy = require(strategiesPath + strategyName);

并且这些策略的路径是正确的,我已经检查过了。我在这个脚本中所做的所有其他东西都是普通的 CasperJS 东西,我认为这些东西都有记录并且运行良好。

最佳答案

好的,伙计们,我有一个答案 - 'fs' 是一个与 node 捆绑在一起的模块,所以它不必通过 npm 安装。你下载的包是这样的:
https://www.npmjs.com/package/fs
它所包含的只是……

console.log("I'm `fs` modules");

当你这样做时:
npm uninstall fs

npm install -g fs

该节点使用它的本地包 - 它附带 - 并完全忽略了全局包。谜团已揭开。 ;)

关于module - 使用 CasperJS 进行 Web 抓取会返回未记录的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31572054/

相关文章:

javascript - 如何导入子模块并将其别名为 ES6 中的变量

python - 在 Python 中重新加载模块时管理具有副作用的全局对象

azure - 为什么这个 PhantomJS 进程会导致 "Directory <x> does not exist."错误?

python - Selenium,选择 <span> 内的元素

javascript - 在单个脚本中声明两个或多个 casper

javascript - Casperjs 访问框架内的框架

javascript - CasperJs 不完全从 PHP 执行

python - 如何仅在模块中的函数运行后才将模块导入到Python模块中?

JavaScript 模块和 CORS

node.js - phantomjs npm 安装在代理后面失败