2013-09-25 62 views
11

你可以使用npm模块通过使用require()in phantomJS?它似乎能够加载JavaScript文件,所以也许这是可能的?phantomjs:如何在phantomjs中使用npm模块?

+1

您是否试过正在做的事情?也许你会感到惊喜。 –

+0

我可以找到一个例子吗?它不会为我加载npm模块。 – KJW

+0

我刚刚尝试使用'require'导入npm模块,你能给我一个你试过的代码示例吗? –

回答

16

这完全取决于nodejs模块。如果的NodeJS模块需要通过本机的功能接口的一些支持它不会工作。(NPM模块,如HTTP,socket.io,将无法在phantomjs工作,因为它眷原生接口)

纯JavaScript 的NodeJS模块也应该在phantomjs上工作。

+0

例如,粉笔不可用,因为它取决于过程模块。 –

+1

您能否提供一个示例,正确地说明如何将节点模块注入phantomjs?通过如何使它工作,需要或injectjs,答案是显而易见的? – Firanolfind

4

fyi,phantomjs有commonjs的aproximation。

你不能在phantomjs采用AMD模块,我不知道,在phantomjs

更新适用于任何AMD加载器(如requirejs)的(2015):我一直在使用CommonJS的模块PhantomJs 1.x和2.x,它们可以很好地处理一个警告:不能使用源映射(在文件底部,看起来像//# sourceMappingURL=index.js.map),因为它会导致PhantomJs模块加载器失败。否则,commonjs模块将正常加载。

+0

sourceMappingUrl评论是我的撤消。谢谢你的提示! – Tyson