你可以在phantomJS中使用require()来使用npm模块吗?它似乎能够加载JavaScript文件所以这可能是可能的?
这完全取决于nodejs模块。如果nodejs模块需要通过本机函数接口提供一些支持,它将无法工作。(http,socket.io等npm模块不能在phantomjs上运行,因为它依赖于本机接口)
纯JavaScript nodejs模块也应该适用于phantomjs。
fyi,phantomjs有一个近似的共同点。
你不能在phantomjs中使用amd模块,我不知道任何在phantomjs中工作的amd加载器(如requirejs)
更新(2015):我一直在PhantomJs 1.x和2.x中使用commonjs模块,它们可以很好地解决一个问题:你不能使用源映射(在文件的底部,看起来像//# sourceMappingURL=index.js.map
),因为它会导致PhantomJs模块加载器失败。否则,commonjs模块将正常加载。