Ich finde oft, ich möchte einfache Frontend Javascript-Dateien mit Knoten zum Testen ausführen. Der Knoten versteht das Dokument jedoch nicht und kann nicht auf Elemente in meinem HTML zugreifen. Gibt es eine Möglichkeit, diese Funktionalität hinzuzufügen oder Frontend-JS-Dateien anderweitig zu betreiben?Wie kann ich Front-End-Javascript-Dateien mit Knoten ausführen?
Antwort
node.js unterstützt die Browserumgebung nicht (window
, document
, etc ...). Es erwartet nur nicht, dass es in der Lage ist, Dateien auszuführen, die in der Browserumgebung ausgeführt werden, und erwartet daher eine fehlerhafte Erwartung.
Sie können also einen Browser/DOM-Emulator finden, der in node.js ausgeführt werden kann oder das Skript lokal in einer tatsächlichen Browserumgebung ausführen oder ein Tool verwenden, das speziell für Browser-orientierte Skripts wie karma js (a Tool zum Testen von Skripten in echten Browsern).
Denken Sie daran, dass der Browser-Umgebung zur Unterstützung der Javascript Runtime-Sprache und eine ganze Reihe von Objekten und Methoden besteht, die an den Browser spezifisch sind wie document
, document.createElement
alle DOM-Objekte, alle Fenster Methoden usw. ...
Node.js hingegen ist eine Javascript-Runtime-Sprache und es ist ein eigener Satz anderer Objekte und Funktionen, die nicht versuchen, einen Browser in irgendeiner Weise zu emulieren, sondern eine eigene einzigartige Umgebung zu erstellen um verschiedene Arten von Problemen zu lösen.
Danke für die Erklärung. – user3839756
Kein Weg, genau wie js Code in verschiedenen Browsern unterschiedlich darstellen.
- 1. Wie kann ich COUNT Knoten mit CSS
- 2. Wie kann ich "Knoten index.js" in Ubuntu
- 3. Fehler beim Ausführen express mit Knoten
- 4. Terrakotta-Knoten Wie kann ich mehrere aktive Knoten haben
- 5. Wie kann ich PM2 auf einer bestimmten Knotenversion ausführen?
- 6. Wie kann ich Knoten js synchronisieren?
- 7. Wie kann ich einen Knoten in XML mit PowerShell auskommentieren?
- 8. Wie kann ich Knoten mit xslt-Code vergleichen?
- 9. Wie kann man geteilte Knoten mit einem anderen Knoten verbinden?
- 10. Wie kann ich "cpan" in Emacs ausführen?
- 11. Wie kann ich die Bewegung der Knoten in Neo4j stoppen?
- 12. Wie kann ich com.apple.tools.info-plist-Dienstprogramm ausführen?
- 13. Wie kann ich diese Abfrage schneller ausführen
- 14. Wie kann ich HTML Code nicht ausführen?
- 15. Wie kann ich Redis im Hintergrund ausführen?
- 16. Wie kann ich Ruby-Tests automatisch ausführen?
- 17. Wie kann ich IIS7 schneller ausführen?
- 18. Wie kann ich Rails Server Daemon ausführen?
- 19. Wie kann ich Archetypes.querywidget Testsuite lokal ausführen?
- 20. Bash-Skript kann Knoten auf Docker-Image nicht ausführen
- 21. Kann ich ipython-Skripte ausführen?
- 22. Wie kann ich mehrere Befehle mit Salt Stack ausführen?
- 23. Wie kann ich einen Shell-Befehl mit VBA ausführen?
- 24. Wie kann ich dieses Android-Projekt mit Eclipse ausführen?
- 25. Wie kann ich Mocha mit Npm-Skript ausführen?
- 26. Wie kann ich mehrere Befehlszeilen mit Java Runtime ausführen?
- 27. Wie kann ich Python Anakonda mit Atom 1.0 ausführen
- 28. Wie kann ich eine jQuery-Funktion mit AS3 ausführen
- 29. Wie kann ich eine Batch-Datei mit zwei Parametern ausführen?
- 30. Wie kann ich einen einzigen Android-Test mit Kotlin ausführen?
Was ist falsch an einem Browser? – Andy
Zombiejs ist da draußen –
Es gibt viele Nicht-Node-Tools zum Testen von Frontend-Dateien. 'JSBin',' JSFiddle' kommen mir in den Sinn. –