Könnten Sie npm-Module verwenden, indem Sie require() in phantomJS verwenden? Es scheint in der Lage zu sein, Javascript-Dateien zu laden, also ist das vielleicht möglich?phantomjs: Wie npm-Module in Phantomjs zu verwenden?
Antwort
Das hängt vollständig von dem Modul nodejs ab. Es wird nicht funktionieren, wenn NodeJS Modul eine gewisse Unterstützung durch native Funktion Schnittstelle erfordert. (NPM-Module wie http, socket.io wird auf PhantomJS nicht funktionieren, weil sie auf native Schnittstellen Abhängige)
reine JavaScript NodeJS Module sollten auch auf phantomjs arbeiten.
Zum Beispiel ist Kreide nicht verwendbar, weil sie vom Prozessmodul abhängt. –
Können Sie ein Beispiel geben, richtig, wie man Knotenmodul in phantomjs injiziert? Die Antwort liegt auf der Hand, wie es funktioniert, benötigt oder injiziert wird? – Firanolfind
fyi, Phantomjs hat eine Annäherung an commonjs.
Sie können nicht amd Module in PhantomJS verwenden, und ich weiß nicht, jeder amd Lader (wie requirejs), die
Update (2015) in PhantomJS funktioniert: Ich habe Commonjs Module in Verwendung PhantomJs 1.x und 2.x, sie funktionieren gut mit einem Vorbehalt: Sie können Source-Mapping nicht verwenden (am Ende der Datei sieht es aus wie //# sourceMappingURL=index.js.map
), da es den PhantomJs-Modullader fehlschlagen wird. Andernfalls werden commonjs-Module normal geladen.
Der sourceMappingUrl-Kommentar wurde ebenfalls rückgängig gemacht. Danke für den Tipp! – Tyson
Haben Sie versucht, genau das zu tun, was Sie gesagt haben? Vielleicht wärst du angenehm überrascht. –
kann ich ein Beispiel finden? es lädt nicht das npm-Modul für mich. – KJW
Ich habe gerade versucht, npm-Module mit 'require' zu importieren. Kannst du mir ein Codebeispiel von dem geben, was du ausprobiert hast? –