2013-09-25 21 views
11

È possibile utilizzare i moduli npm utilizzando require() in phantomJS? Sembra essere in grado di caricare i file javascript quindi forse questo è possibile?phantomjs: come utilizzare i moduli npm in phantomjs?

+1

Hai provato a fare esattamente quello che hai detto? Forse saresti piacevolmente sorpreso. –

+0

posso trovare un esempio? per me non sta caricando il modulo npm. – KJW

+0

Ho appena provato a importare i moduli npm usando 'require', puoi darmi un esempio di codice di ciò che hai provato? –

risposta

16

Ciò dipende interamente dal modulo nodejs. Non funzionerà se nodejs modulo richiede un po 'di supporto tramite interfaccia funzione nativa. (Moduli NPM come http, socket.io, non funziona su phantomjs, perché a carico sulle interfacce native)

Pure JavaScript nodejs i moduli dovrebbero funzionare anche su phantomjs.

+0

Ad esempio, il gesso non è utilizzabile poiché dipende dal modulo del processo. –

+1

Puoi fornire un esempio, correttamente come iniettare il modulo nodo in phantomjs? La risposta è ovvia da come farlo funzionare, richiedere o injectjs? – Firanolfind

4

fyi, phantomjs ha un ravvicinamento di commonjs.

non è possibile utilizzare i moduli AMD nel phantomjs, e non so di qualsiasi caricatore amd (come requirejs) che opera in phantomjs

Update (2015): Sono stato con moduli commonjs in PhantomJs 1.xe 2.x, funzionano bene con un avvertimento: non è possibile utilizzare il mapping di origine (nella parte inferiore del file, appare come //# sourceMappingURL=index.js.map) poiché il caricatore del modulo PhantomJs avrà esito negativo. In caso contrario, i moduli commonjs verranno caricati normalmente.

+0

Anche il commento sourceMappingUrl è stato il mio annullamento. Grazie per il consiglio! – Tyson