Sempre execute o nó com o sinalizador --harmony

15

Eu sempre quero executar o Node.JS com o --harmonysinalizador. Existe uma maneira de ativar facilmente esse sinalizador por padrão?

(Nota: estou executando no Windows, portanto, só tenho acesso ao Cygwin ou Mingw como conchas.)

Randomblue
fonte

Respostas:

14

Se você está falando sobre executar interativamente, pode usar um bash alias. Coloque isso no seu ~/.bashrc:

alias node="node --harmony"

(Para o seguinte: observe 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 a necessidade de chamar explicitamente um intérprete, 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 inicie o destino com o sinalizador extra:

Crie um nodeHarmonye coloque-o no seu caminho de pesquisa, por exemplo /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Então chmod a+xisso.

Em seguida, execute nodeHarmonysempre que desejar que o sinalizador seja anexado. Se você deseja substituir o nodeexecutável, provavelmente poderá renomear nodepara outra coisa (por exemplo node_original), nomear o script nodee usá-lo node_original.

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

@echo off

node --harmony %*

Isso se comportaria de maneira semelhante, mas poderá 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 .

Prumo
fonte
4

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

Depois de obter o código-fonte, abra deps/v8/src/flag-definitions.he procure a Linha 115. Altere o sinalizador de falso para verdadeiro:

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

Em seguida, compile o Node:

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

Você pode editar o arquivo node.js e:

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

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

    var this_variable_name = 'harmony';
    
pbies
fonte
0

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

Por exemplo, adicione ao package.json:

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

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

início npm

Noam Manos
fonte