Esegui sempre il nodo con la bandiera --harmony


15

Voglio sempre eseguire Node.JS con la --harmonybandiera. C'è un modo per attivare facilmente questo flag per impostazione predefinita?

(Nota: sto usando Windows, quindi ho accesso a Cygwin o Mingw solo come shell).

Risposte:


14

Se stai parlando di correre interattivamente, puoi usare un bash alias. Metti questo nel tuo ~/.bashrc:

alias node="node --harmony"

(Per quanto sotto: nota che quando dico "eseguibile", non intendo solo binari o "file .exe". "Eseguibili" includono tutto ciò che può essere eseguito senza invocare esplicitamente un interprete, che include script con un shebang. )

Se si desidera eseguire un eseguibile, ad esempio all'interno di un altro script, è possibile creare uno script shell che avvia la destinazione con il flag aggiuntivo:

Crea un nodeHarmonye inseriscilo nel tuo percorso di ricerca, ad esempio /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Poi chmod a+xesso.

Quindi eseguire nodeHarmonyogni volta che si desidera aggiungere quella bandiera. Se vuoi sostituire l' nodeeseguibile, potresti probabilmente rinominare nodequalcos'altro (ad es. node_original), Nominare lo script nodee usarlo node_originalall'interno dello script.

È inoltre possibile creare lo script batch Windows equivalente, che funzionerebbe al di fuori di Cygwin / MinGW:

@echo off

node --harmony %*

Ciò si comporterebbe in modo simile, ma potrebbe presentare effetti strani con alcune combinazioni di argomenti, poiché l'elenco verrebbe analizzato due volte, una volta durante l'esecuzione dello script batch e una volta all'interno dello script durante l'esecuzione node. Alcune soluzioni alternative qui .


4

Se sei pronto per ricompilare node.js, l'articolo Come ottenere l'armonia in node.js dice:

Una volta ottenuto il codice sorgente, apri deps/v8/src/flag-definitions.he cerca la riga 115. Cambia il flag da falso a vero:

DEFINE_bool(harmony, true, "enable all harmony features")

Quindi compilare Nodo:

./configure && make && make install


0

È possibile modificare il file node.js e:

  1. Cerca una variabile che controlla la sua impostazione per "--harmony" o "harmony", qualcosa del tipo:

    if (variable_name == 'harmony') ...
    
  2. Imposta questa variabile in precedenza nel codice:

    var this_variable_name = 'harmony';
    

0

Perché non configura package.json con un comando script ?

Ad esempio, aggiungi a package.json:

  "scripts": {
    "start": "node --harmony server.js"
  }

Quindi eseguire in cmd (nella directory del progetto):

inizio npm

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.