2013-09-25 106 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