11

你可以通过在 phantomJS 中使用 require() 来使用 npm 模块吗?它似乎能够加载 javascript 文件,所以也许这是可能的?

4

2 回答 2

16

这完全取决于nodejs模块。如果nodejs模块需要通过本机函数接口提供一些支持,它将无法工作。(像 http、socket.io 这样的 npm 模块不适用于 phantomjs,因为它依赖于本机接口)

纯 JavaScript nodejs模块也应该适用于phantomjs

于 2013-10-03T05:53:48.707 回答
4

仅供参考,phantomjs 近似于 commonjs。

您不能在 phantomjs 中使用 amd 模块,而且我不知道在 phantomjs 中工作的任何 amd 加载程序(如 requirejs)

更新(2015 年):我一直在 PhantomJs 1.x 和 2.x 中使用 commonjs 模块,但需要注意的是:你不能使用源映射(在文件底部,看起来像//# sourceMappingURL=index.js.map),因为它会导致PhantomJs 模块加载器失败。否则,commonjs 模块将正常加载。

于 2014-02-26T07:03:55.333 回答