Siempre quiero ejecutar Node.JS con la --harmony
bandera. ¿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).
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 nodeHarmony
y póngalo en su ruta de búsqueda, por ejemplo /usr/local/bin
:
#!/bin/sh
node --harmony "$@"
Entonces chmod a+x
eso.
Luego, ejecute nodeHarmony
siempre que desee agregar esa bandera. Si desea reemplazar el node
ejecutable, probablemente podría cambiarle el nombre node
a otra cosa (p node_original
. Ej. ), Nombrar el script node
y usarlo node_original
dentro 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í .
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.h
y 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
Aparentemente, https://www.npmjs.org/package/setflags se puede usar para establecer las banderas en tiempo de ejecución, sin embargo, no pude instalarlo .
Puede editar el archivo node.js y:
Busque una variable que verifique su configuración para "--armonía" o "armonía", algo como:
if (variable_name == 'harmony') ...
Establezca esta variable anteriormente en el código:
var this_variable_name = 'harmony';
¿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