Nachteile der externen JavaScript-Datei über Inline-JavaScript

8

Was sind einige der Nachteile der Verwendung einer externen JS-Datei über die Einbeziehung der JS als Teil der ASPX-Seite?

Ich muss eine architektonische Entscheidung treffen und von Kollegen hören, dass externe JS manchmal nicht gut spielt.

    
DotnetDude 25.02.2009, 16:54
quelle

6 Antworten

10

Der einzige Nachteil, den ich kenne, ist die zusätzliche HTTP-Anfrage. Dieser Nachteil verschwindet, sobald das Javascript auf zwei Seiten verwendet wird oder die Seite von demselben Benutzer neu geladen wird.

    
andynormancx 25.02.2009, 16:58
quelle
5

Einer ist, dass der Browser den JS nicht zwischenspeichern kann, wenn er auf der Seite ist. Wenn Sie es extern referenzieren, speichert der Browser diese Datei und lädt sie nicht jedes Mal neu, wenn Sie auf eine Seite klicken. Wenn es eingebettet ist, wird es nur zur Dateigröße jeder Seite hinzugefügt.

Auch Wartbarkeit ist etwas, das man im Auge behalten sollte. Wenn es JS ist, wird es ein bisschen mühsam sein, eine Änderung vorzunehmen, wenn Sie die X-Anzahl der Skriptblöcke von HTML-Dateien anstelle einer JS-Datei aktualisieren müssen.

Ich persönlich habe noch nie ein Problem mit externen Dateien im Vergleich zu eingebetteten gefunden. Die einzige Zeit, in der ich JS im HTML selbst habe, ist, wenn ich etwas zum Laden von Dokumenten speziell für diese Seite binden muss.

    
Parrots 25.02.2009 17:00
quelle
3

Caching ist sowohl ein Profi als auch potenziell ein Betrug, wenn Sie es nicht richtig handhaben.

Das pro ist offensichtlich, da es das Laden der Seite bei jedem Laden der Seite nach dem ersten Laden verbessert.

con bedeutet, dass der neue Code möglicherweise vom Browser des Benutzers zwischengespeichert wird, sodass er das Update möglicherweise nicht erhält. Dies kann leicht gelöst werden, indem Sie den Namen Ihrer js-Datei ändern. Wir versionieren unsere js automatisch mit dem Zeitstempel der Datei und stellen dann sicher, dass sie auf die Erstellungsdatei in der Webanfrage durch Konfiguration auf unserem Webserver (mod_rewrite, Apache) zeigen.

    
jonstjohn 25.02.2009 17:06
quelle
2

Bitten Sie sie, "spiel nett" zu definieren. Abgesehen von einer besseren logischen Organisation müssen externe js-Dateien nicht übertragen werden, wenn sie bereits zwischengespeichert sind.

Wir verwenden den YUI-Komprimierer , um externe Skripts beim Erstellen von Produktions- / Staging-Builds automatisch zu minimieren und zu kombinieren.

    
BC. 25.02.2009 16:58
quelle
1

Der einzige Nachteil, den ich kenne, ist, dass eine weitere Anfrage an den Server gestellt werden muss, um die externe JS-Datei abzurufen. Wie gesagt, können Sie Tools wie YUI-Kompressor verwenden, um die Auswirkungen zu minimieren.

Der Vorteil wäre jedoch, dass Sie Ihren gesamten JS-Code in einem separaten, besser wartbaren Format behalten können.

    
Corey Sunwold 25.02.2009 17:01
quelle
1

Ein weiterer großer Vorteil von externem JavaScript ist die Fähigkeit, Ihre Syntax mit Jslint zu überprüfen. Das, zusätzlich zur Fähigkeit, externe Skripte zu minimieren, zu kombinieren und zwischenzuspeichern, macht internes Javascript wie eine schlechte Wahl.

    
Ken 25.02.2009 17:03
quelle

Tags und Links