Führen Sie den Knoten immer mit dem Flag --harmony aus

15

Ich möchte Node.JS immer mit der --harmonyFlagge 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.)

Zufälliges Blau
quelle

Antworten:

14

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 nodeHarmonyund geben Sie es in Ihren Suchpfad ein, zB /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Dann ist chmod a+xes.

nodeHarmonyFühren Sie dann aus, wann immer Sie möchten, dass dieses Flag angehängt wird. Wenn Sie die nodeausführbare Datei ersetzen möchten , können Sie sie möglicherweise umbenennen node(z. B. umbenennen node_original), das Skript benennen nodeund node_originalinnerhalb 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 .

Bob
quelle
4

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.hund 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
Harrymc
quelle
0

Sie können die Datei node.js bearbeiten und:

  1. Suchen Sie nach einer Variablen, deren Einstellung auf "--harmony" oder "harmony" überprüft wird.

    if (variable_name == 'harmony') ...
    
  2. Setzen Sie diese Variable früher im Code:

    var this_variable_name = 'harmony';
    
pbies
quelle
0

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

Noam Manos
quelle