Ich möchte Node.JS immer mit der --harmony
Flagge ausführen . Gibt es eine Möglichkeit, dieses Flag standardmäßig zu aktivieren?
(Hinweis: Ich arbeite unter Windows, daher habe ich nur Zugriff auf Cygwin oder Mingw als Shells.)
Wenn Sie über interaktives Laufen sprechen, können Sie eine Bash verwenden alias
. Fügen Sie dies in Ihre ~/.bashrc
:
alias node="node --harmony"
(Beachten Sie für das Folgende: Wenn ich "ausführbar" sage, meine ich nicht nur Binärdateien oder ".exe-Dateien". "Ausführbare Dateien" enthalten alles, was ausgeführt werden kann, ohne explizit einen Interpreter aufzurufen, der Skripte mit einem Shebang enthält. )
Wenn Sie eine ausführbare Datei ausführen möchten, z. B. in einem anderen Skript, können Sie ein Shell-Skript erstellen, das das Ziel mit dem zusätzlichen Flag startet:
Erstellen Sie ein nodeHarmony
und geben Sie es in Ihren Suchpfad ein, zB /usr/local/bin
:
#!/bin/sh
node --harmony "$@"
Dann ist chmod a+x
es.
nodeHarmony
Führen Sie dann aus, wann immer Sie möchten, dass dieses Flag angehängt wird. Wenn Sie die node
ausführbare Datei ersetzen möchten , können Sie sie möglicherweise umbenennen node
(z. B. umbenennen node_original
), das Skript benennen node
und node_original
innerhalb des Skripts verwenden.
Sie können auch das entsprechende Windows-Stapelskript erstellen, das außerhalb von Cygwin / MinGW funktioniert:
@echo off
node --harmony %*
Dies verhält sich ähnlich, kann jedoch bei einigen Argumentkombinationen merkwürdige Auswirkungen haben, da die Liste zweimal analysiert wird - einmal beim Ausführen des Stapelskripts und einmal innerhalb des Skripts beim Ausführen node
. Einige Umgehungen hier .
Wenn Sie zum erneuten Kompilieren von node.js bereit sind, heißt es im Artikel So erhalten Sie Harmonie in node.js :
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")
Dann kompiliere Node:
./configure && make && make install
Anscheinend kann https://www.npmjs.org/package/setflags verwendet werden, um die Flags zur Laufzeit zu setzen, aber ich konnte es nicht installieren .
Sie können die Datei node.js bearbeiten und:
Suchen Sie nach einer Variablen, deren Einstellung auf "--harmony" oder "harmony" überprüft wird.
if (variable_name == 'harmony') ...
Setzen Sie diese Variable früher im Code:
var this_variable_name = 'harmony';
Warum gehst ich nicht Config die package.json mit einem Skripte Befehl?
Fügen Sie beispielsweise package.json hinzu:
"scripts": {
"start": "node --harmony server.js"
}
Führen Sie dann in cmd (im Projektverzeichnis) Folgendes aus:
npm start