Coffeescript Wrapping Dateien in einer Funktion

8

Der coffeescript-Compiler verpackt aus irgendeinem Grund alle meine .coffee-Dateien in eine Funktion, wenn sie kompiliert werden. Zum Beispiel, wenn ich test.coffee:

habe %Vor%

Dann bekomme ich test.js:

%Vor%

Meine einfache HTML-Datei wird damit nicht funktionieren:

%Vor%

Ich habe noch nie mit viel JS gearbeitet, und ich würde den Kaffee-Compiler nicht zweifeln, aber ist es so, wie es funktionieren sollte? Wie

    
DrPepper 16.08.2011, 17:29
quelle

2 Antworten

7

Fügen Sie Ereignis-Listener niemals in HTML hinzu. Fügen Sie sie in Ihrem JavaScript hinzu, vorzugsweise in demselben Bereich, in dem Sie den Ereignishandler definieren.

%Vor%

Wenn Sie unbedingt etwas in den globalen Bereich exportieren müssen, exportieren Sie in das Fensterobjekt:

%Vor%     
katspaugh 16.08.2011, 17:35
quelle
9

Siehe meine Antwort hier zum Teilen von jS-Code zwischen Dateien / Module. Auch FYI die Wrapper-Funktion ist von Entwurf, um unbeabsichtigte globale Variablen zu verhindern. Sie können dies deaktivieren, indem Sie --bare an das Befehlszeilenprogramm für den Kaffee-Compiler übergeben, aber es ist eine gute Übung aus gutem Grund.

    
Peter Lyons 16.08.2011 18:16
quelle

Tags und Links