Sempre executa o nó com o sinalizador --harmony

15

Eu sempre quero executar o Node.JS com o sinalizador --harmony . Existe uma maneira de ter esse sinalizador ativado por padrão?

(Nota: eu estou rodando no Windows, então eu só tenho acesso ao Cygwin ou ao Mingw como shells.)

    
por Randomblue 20.12.2013 / 14:58

5 respostas

14

Se você estiver falando sobre a execução interativa, use o bash alias . Coloque isso no seu ~/.bashrc :

alias node="node --harmony"

(Para o seguinte: note que quando digo "executável", não me refiro apenas a binários ou "arquivos .exe". "Executáveis" incluem qualquer coisa que possa ser executada sem invocar explicitamente um interpretador, que inclui scripts com um shebang.)

Se você deseja executar um executável, por exemplo dentro de outro script, você pode criar um script de shell que lance o destino com o sinalizador extra:

Crie um nodeHarmony e coloque-o no seu caminho de pesquisa, por ex. /usr/local/bin :

#!/bin/sh

node --harmony "$@"

Então chmod a+x .

Em seguida, execute nodeHarmony sempre que você quiser que o sinalizador seja anexado. Se você quiser substituir o executável node , provavelmente poderá renomear node para outra coisa (por exemplo, node_original ), nomear o script node e usar node_original no script.

Você também pode criar o script de lote do Windows equivalente, que funcionaria fora do Cygwin / MinGW:

@echo off

node --harmony %*

Isso se comportaria de maneira semelhante, mas pode exibir efeitos estranhos com algumas combinações de argumentos, porque a lista seria analisada duas vezes - uma vez ao executar o script em lote e uma vez dentro do script ao executar node . Algumas soluções alternativas aqui .

    
por 25.12.2013 / 14:44
4

Se você estiver pronto para recompilar o node.js, o artigo Como obter harmonia no seu node.js diz :

Once you’ve got the source code, open up deps/v8/src/flag-definitions.h and look for Line 115. Change the flag from false to true :

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

Then compile Node :

./configure && make && make install
    
por 25.12.2013 / 20:27
1

Aparentemente, o link pode ser usado para definir os sinalizadores em tempo de execução, no entanto Não consegui instalá-lo .

    
por 18.05.2014 / 06:47
0

Você pode editar o arquivo node.js e:

  1. Procure por uma variável que verifique sua configuração para "--harmony" ou "harmony", algo como:

    if (variable_name == 'harmony') ...
    
  2. Defina essa variável anteriormente no código:

    var this_variable_name = 'harmony';
    
por 29.12.2013 / 21:39
0

Por que você não configura o package.json com um comando scripts ?

Por exemplo, adicione ao pacote.json:

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

Em seguida, execute em cmd (no diretório do projeto):

npm start

    
por 26.01.2017 / 05:30