Wie erstelle ich ein eigenständiges Browser-Paket, das direkt in das Fenster exportiert?

8

Ich möchte ein eigenständiges Browser-Bündel erstellen, das die exportierten Objekte direkt an das Objekt window anfügt und nicht unter einem mit window verbundenen Wrapper-Objekt verschachtelt ist.

Dabei ignoriert browserify das Fenster:

%Vor%

Die Datei main.js sieht folgendermaßen aus:

%Vor%

Ich möchte beide Module direkt im globalen Namespace verfügbar machen: window.ModuleA und window.ModuleB .

Die Dokumentation bietet keine offensichtliche Lösung.

Können Sie mir helfen?

    
Razvan Caliman 16.09.2015, 09:13
quelle

2 Antworten

5

Das sollte funktionieren:

%Vor%

Sie könnten auch window anstelle von global verwenden.

    
Sprockincat 17.11.2015, 18:35
quelle
1

Das Argument für --standalone soll der Name der globalen Variable sein, die Sie dem Modul zuweisen möchten. In Ihrem Beispiel verwenden Sie "window", was dazu führen wird, dass auf Ihrer Site einige seltsame Dinge passieren.

Anstatt die Module in den globalen Gültigkeitsbereich zu zwingen (einige Entwickler wollen sie dort aufgrund von Konflikten nicht), sollten Sie Folgendes tun:

browserify main.js --standalone TheModulesAB > bundle.js

Dann kannst du bundle.js laden und deine Module wie folgt referenzieren:

%Vor%     
posit labs 13.11.2016 00:29
quelle

Tags und Links