UglifyJS 'strict' Anweisungen verwenden

8

Ich verwende Grunt, der mit grunt-contrib-uglify task verbunden ist, um JavaScript in meiner App zu minimieren.

Bei der Verkleinerung wird jede 'use strict' -Anweisung entfernt, mit Ausnahme der allerersten. Daher erhalte ich eine riesige JavaScript-Datei mit der Anweisung 'use strict' oben.

Das Problem ist, dass die globale 'use strict' -Direktive den Browser veranlasst, den Code jeder Lib, die ich im Projekt verwende, im "strikten Modus" auszuführen und Fehler verursacht, da nicht jeder 3rd-Party-Code für strict geschrieben wird Modus.

Irgendwelche Ideen, wie Sie das lösen können?

    
Roman Kolpak 19.12.2013, 14:50
quelle

1 Antwort

6

Wenn Sie alle Ihre Skripts mit einem IIFE umschließen, wird grunt-contrib-uglify wird diese Aussage nicht bis zum Anschlag positionieren, sondern sie in jedem IIFE, in dem Sie schreiben, belassen.

%Vor%

Ja, es ist mehr Code, aber wenn Sie die Datei entpacken, sollte das kein Problem sein. Dadurch bleiben alle Variablen, die Sie definieren, außerhalb des globalen Gültigkeitsbereichs, was zu performanterem Code führt.

    
Alexander Hripak 07.07.2015 15:29
quelle