Ejecute siempre el nodo con el indicador --harmony

15

Siempre quiero ejecutar Node.JS con la --harmonybandera. ¿Hay alguna manera de activar fácilmente esta bandera de forma predeterminada?

(Nota: estoy ejecutando en Windows, así que solo tengo acceso a Cygwin o Mingw como shells).

Randomblue
fuente

Respuestas:

14

Si estás hablando de correr interactivamente, puedes usar un bash alias. Pon esto en tu ~/.bashrc:

alias node="node --harmony"

(Para lo siguiente: tenga en cuenta que cuando digo "ejecutable", no me refiero solo a binarios o "archivos .exe". "Ejecutables" incluyen todo lo que se puede ejecutar sin invocar explícitamente un intérprete, que incluye scripts con un shebang. )

Si desea ejecutar un ejecutable, por ejemplo, dentro de otro script, puede crear un script de shell que inicie el destino con el indicador adicional:

Cree un nodeHarmonyy póngalo en su ruta de búsqueda, por ejemplo /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Entonces chmod a+xeso.

Luego, ejecute nodeHarmonysiempre que desee agregar esa bandera. Si desea reemplazar el nodeejecutable, probablemente podría cambiarle el nombre nodea otra cosa (p node_original. Ej. ), Nombrar el script nodey usarlo node_originaldentro del script.

También puede crear el script por lotes equivalente de Windows, que funcionaría fuera de Cygwin / MinGW:

@echo off

node --harmony %*

Esto se comportaría de manera similar, pero puede exhibir efectos extraños con algunas combinaciones de argumentos, porque la lista se analizaría dos veces: una al ejecutar el script por lotes y otra dentro del script al ejecutar node. Algunas soluciones alternativas aquí .

Beto
fuente
4

Si está listo para recompilar node.js, el artículo Cómo obtener armonía en su node.js dice:

Una vez que tenga el código fuente, abra deps/v8/src/flag-definitions.hy busque la Línea 115. Cambie la bandera de falso a verdadero:

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

Luego compila Nodo:

./configure && make && make install
harrymc
fuente
0

Puede editar el archivo node.js y:

  1. Busque una variable que verifique su configuración para "--armonía" o "armonía", algo como:

    if (variable_name == 'harmony') ...
    
  2. Establezca esta variable anteriormente en el código:

    var this_variable_name = 'harmony';
    
pbies
fuente
0

¿Por qué no configuras el package.json con un comando de scripts ?

Por ejemplo, agregue a package.json:

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

Luego ejecute en cmd (en el directorio del proyecto):

npm start

Noam Manos
fuente