phantomjs:如何在phantomjs中使用npm模块?

时间:2013-09-25 05:56:54

标签: npm phantomjs

你可以在phantomJS中使用require()来使用npm模块吗?它似乎能够加载JavaScript文件,所以这可能吗?

2 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分:4)

fyi,phantomjs对commonjs的近似。

你不能在phantomjs中使用amd模块,我不知道任何在phantomjs中工作的amd加载器(如requirejs)

更新(2015) :我一直在PhantomJs 1.x和2.x中使用commonjs模块,它们可以很好地解决一个问题:你无法使用源代码-mapping(在文件的底部,看起来像//# sourceMappingURL=index.js.map),因为它会导致PhantomJs模块加载器失败。否则,commonjs模块将正常加载。