
Ich möchte Node.JS immer mit dem --harmony
Flag ausführen. Gibt es eine Möglichkeit, dieses Flag einfach standardmäßig zu aktivieren?
(Hinweis: Ich verwende Windows, daher habe ich nur Zugriff auf Cygwin oder Mingw als Shells.)
Antwort1
Wenn Sie interaktiv arbeiten möchten, können Sie eine Bash verwenden alias
. Fügen Sie Folgendes in Ihre ein ~/.bashrc
:
alias node="node --harmony"
(Für das Folgende: Beachten Sie, dass ich mit „ausführbar“ nicht nur Binärdateien oder „.exe-Dateien“ meine. „Ausführbare Dateien“ umfassen alles, was ausgeführt werden kann, ohne explizit einen Interpreter aufzurufen, einschließlich Skripts mit einem Shebang.)
Wenn Sie eine ausführbare Datei ausführen möchten, z. B. innerhalb eines anderen Skripts, können Sie ein Shell-Skript erstellen, das das Ziel mit dem zusätzlichen Flag startet:
Erstellen Sie ein nodeHarmony
und fügen Sie es in Ihren Suchpfad ein, zB /usr/local/bin
:
#!/bin/sh
node --harmony "$@"
Dann chmod a+x
es.
Führen Sie es dann aus nodeHarmony
, wann immer Sie dieses Flag anhängen möchten. Wenn Sie die node
ausführbare Datei ersetzen möchten, können Sie sie wahrscheinlich umbenennen node
(z. B. node_original
), das Skript benennen node
und es node_original
innerhalb des Skripts verwenden.
Sie könnten auch das entsprechende Windows-Batch-Skript erstellen, das außerhalb von Cygwin/MinGW funktionieren würde:
@echo off
node --harmony %*
Dies würde sich ähnlich verhalten, könnte aber bei einigen Argumentkombinationen seltsame Effekte aufweisen, da die Liste zweimal analysiert würde - einmal bei der Ausführung des Batch-Skripts und einmal innerhalb des Skripts bei der Ausführung node
. Einige WorkaroundsHier.
Antwort2
Wenn Sie bereit sind, node.js neu zu kompilieren, der Artikel So erreichen Sie Harmonie in Ihrem node.jssagt:
Sobald Sie den Quellcode haben, öffnen Sie ihn
deps/v8/src/flag-definitions.h
und suchen Sie nach Zeile 115. Ändern Sie das Flag von „false“ in „true“:DEFINE_bool(harmony, true, "enable all harmony features")
Kompilieren Sie dann Node:
./configure && make && make install
Antwort3
Scheinbarhttps://www.npmjs.org/package/setflagskann verwendet werden, um die Flags zur Laufzeit zu setzen, jedochIch konnte es nicht installieren.
Antwort4
Warum konfigurieren Sie nicht diePaket.jsonmit einemSkripteBefehl?
Fügen Sie beispielsweise zu package.json Folgendes hinzu:
"scripts": {
"start": "node --harmony server.js"
}
Führen Sie dann in cmd (im Projektverzeichnis) Folgendes aus:
npm starten