Diese Antwort konnte nirgendwo gefunden werden, aber ich habe mehrere Mailinglisten gefunden, in denen dies besprochen wurde. Diese sind jedoch ziemlich alt und ich habe keine Ahnung, ob dies implementiert ist oder nicht.
Gibt es überhaupt eine Möglichkeit, den strengen Modus in node.js zu erzwingen?
Schreiben "use strict";
in alle meine .js-Dateien ... nun, ich bevorzuge es, den strengen Modus zu verwenden, anstatt zusätzliche Boilerplate hinzuzufügen.
--use_strict
funktioniert das Flag wie erwartet.--use_strict
der strikte Modus für die gesamte Anwendung festgelegt wird, einschließlich aller externen Module, die außerhalb Ihrer Steuerelemente liegen.In Knoten 0.10.7 können Sie den strengen Modus auf Dateiebene erzwingen, indem Sie ihn
"use strict";
oben in Ihre Datei einfügen . Schließlich!quelle
Sie können auch verwenden
https://npmjs.org/package/use-strict
das heißt, schreibe einmal
oder sogar einen Schritt nach vorne machen und verwenden
https://npmjs.org/package/node-strict
Bitte beachten Sie, dass
use-strict
bei jedem Modul, das nach dem Aufruf benötigt wird, mehr aktiviert wird.Wenn Sie einen nicht invasiven Ansatz bevorzugen, habe ich ein anderes Modul geschrieben
https://www.npmjs.org/package/strict-mode
Dies aktiviert den strengen Modus nur in Ihrem Paket. Ich denke, das ist eher eine "Do What I Mean" -Lösung.
quelle
Verwenden Sie einfach
"use strict";
oben in den entsprechenden Dateien. Ich weiß, es ist verlockend zu versuchen, Boilerplate auszuschneiden, aber es kann einfach nicht in Javascript gemacht werden. Das Knotenflag, das nicht benannt werden soll [1]"use strict";
weil es sich um einen globalen Compiler handelt, und wie bei allen Globalen wirken Sie sich möglicherweise nachteilig auf den Code eines anderen aus.Einige andere Programmierer denken möglicherweise, dass dies ähnlich
-wALL
oder ähnlich ist, aber nicht. Dies ist eine standardisierte Funktionalität, die Sie ad-hoc aktivieren (gegen den Standard verstoßen) und die Compilersemantik aller ändern.Fußnoten
--use_strict
. Benutze es nicht .quelle
Sie können auch das strikte Flag in der Shebang-Interpreter-Direktive angeben.
Derzeit (zumindest vor Version 0.9.x) treten jedoch dieselben Probleme auf, die in den Kommentaren in der Antwort von @ chad-scira beschrieben werden.
quelle
env
Sie können solche Parameter nicht übergeben, oder?env
funktioniert mit zusätzlichen Parametern wie diesen unter OSX, aber nicht unter Linux.