2016-07-21 10 views
0

Das ist wahrscheinlich eine dumme Frage, aber woher weißt du, wann etwas durch einen "Build" gehen oder kompiliert werden muss? Mein Verständnis davon ist, dass wenn Sie Code schreiben, Sie Quelldateien schreiben, wenn sie dann, um von dem Computer verstanden zu werden, zu ausführbaren Dateien kompiliert werden müssen. Aber dann, wie kann ich nur eine index.html schreiben und es in meinen Browser ziehen, damit es funktioniert? Wann erfolgte das Kompilieren in dieser Situation? Wie verhält es sich mit dem Kompilieren, das passiert, wenn Sie Build-Tools wie npm verwenden?Wann muss eine Datei genau kompiliert werden?

+1

html ist nicht kompiliert, es ist eine Auszeichnungssprache, die dem Browser mitteilt, wie der Text –

+1

angezeigt wird Das hängt sehr von der Sprache ab. In einigen Sprachen wie C müssen Sie alle Quelldateien kompilieren. In anderen Sprachen wie Python ist der Compiler in den Interpreter integriert und der Kompilierungsschritt ist für die Programmierer unsichtbar. HTML ist nicht wirklich eine Programmiersprache, aber es wird immer noch von den Web-Browsern * kompiliert * (d.h. in eine interne Form übersetzt). –

+0

also für verschiedene Web-Apps, hängt es von der Sprache ab, wo es kompiliert wird? Wenn der Browser das Kompilieren durchführt, was nützt Build-Systeme wie npm? Organisiert es einfach die Abhängigkeiten, um dem Browser mitzuteilen, was zu kompilieren ist, damit bestimmte Module funktionieren? – akantoword

Antwort

1

Kompilieren bedeutet, eine Liste von Maschinencodes zu erstellen, die von der Maschine gespeichert und ausgeführt werden können. Browser tun nicht, dass sie die Sprache analysieren und ausführen, ohne eine Liste zu erstellen. (Obwohl oft wie in den Kommentaren für eine schnellere Ausführung erwähnt, kann Code im laufenden Betrieb kompiliert und an die CPU als Maschinen-Codes gesendet werden.)

+0

wenn die Browser den Code ausführen, was passiert dort? Bedeutet das nicht, dass sie den Code irgendwie übersetzen müssen und mit der CPU kommunizieren müssen, damit er auf deinem Bildschirm erscheint? Bedeutet die Kommunikation mit der CPU nicht immer, dass Code an einem bestimmten Punkt kompiliert werden muss, damit die CPU versteht, was zu tun ist? Vielleicht ist eine umfassendere Frage, wie ist es wichtig, wer den Code "ausführt"? Selbst wenn es der Browser ist, geht nicht alles indirekt zurück in die CPU, um irgendeine Art von Maschinensprache zu lesen, um sie auszuführen, damit der Code funktioniert? – akantoword

+0

Ein wenig schwer für mich zu erklären, aber im Grunde die Tatsache, dass es nicht als Liste gespeichert ist, macht den Unterschied. Die Funktionsweise eines Browsers besteht darin, dass ein Befehl nach dem anderen ausgeführt wird, z. B. die Zeichenfolge "Hallo" zeichnet und eine bereits kompilierte Betriebssystemfunktion aufruft, um die an sie gesendete Zeichenkette zu zeichnen und zu zeichnen. Hoffe es ist etwas klar. – MotKohn