Assim, --harmonyé um atalho para ativar todos os recursos de harmonia (por exemplo --harmony_scoping, --harmony_proxiesetc.). Nesta postagem do blog , parece que a harmonia ativa novos recursos do ECMAScript 6 no idioma. A razão pela qual seu arquivo não será executado sem harmonia é porque app.jsprovavelmente está usando recursos compatíveis com versões anteriores do novo padrão ECMAScript 6 (como escopo de bloco, proxies, conjuntos, mapas, etc.)
Muito obrigado! Tudo faz sentido agora. Btw. alguma idéia do que é equivalente man nodeno Windows? :)
jsalonen
3
@jsalonen não há um, mas você pode fazer > node --v8-optionspara obter o material referido aqui
eis
@eis no Windows, existe uma convenção de uso --help(ou -h); que funciona com a maioria dos programas de console, node -hfunciona, mesmo que não haja um comando man específico. Mas não para os comandos 'DOS'; para aqueles que você pode fazer help dir, help setetc. Sigh.
Jon Coombs
@ JonCoombs eu acho que /?é mais usado com os comandos "dos" antigos. Mas, de qualquer maneira, não há um padrão, acho que já vi, por exemplo, -hmuito usado.
eis
10
Se você deseja executar os recursos do ECMAScript 6 na versão mais antiga do nodejs, pode usar o sinalizador --harmony. A versão mais recente do nó suporta o ES6, portanto, não é necessário o sinalizador --harmony
módulos são apenas uma característica da harmonia.
code_monk
4
Conforme mencionado na documentação do nó, o sinalizador --harmony habilita os recursos não estáveis, mas que devem ser rapidamente estabilizados no ES6
O comportamento atual do sinalizador --harmony no Node.js é ativar apenas os recursos em etapas. Afinal, agora é sinônimo de --es_staging. Como mencionado acima, esses são recursos completos que ainda não foram considerados estáveis. Se você deseja jogar em segurança, especialmente em ambientes de produção, considere remover esse sinalizador de tempo de execução até que seja enviado por padrão na V8 e, consequentemente, no Node.js. Se você mantiver essa opção ativada, você deve estar preparado para atualizações adicionais do Node.js. para quebrar seu código se a V8 alterar sua semântica para seguir mais de perto o padrão.
Todos os recursos do ECMAScript 2015 (ES6) são divididos em três grupos para os recursos de remessa, teste e em andamento:
Todos os recursos de remessa , que a V8 considera estáveis, são ativados por padrão no Node.js e NÃO requerem nenhum tipo de sinalizador de tempo de execução.
Recursos intermediários , que são recursos quase concluídos que não são considerados estáveis pela equipe V8, exigem um sinalizador de tempo de execução: - harmonia .
Os recursos em andamento podem ser ativados individualmente por seu respectivo sinalizador de harmonia, embora isso seja altamente desencorajado, exceto para fins de teste. Nota: esses sinalizadores são expostos pela V8 e potencialmente serão alterados sem nenhum aviso de descontinuação.
man node
no Windows? :)> node --v8-options
para obter o material referido aqui--help
(ou-h
); que funciona com a maioria dos programas de console,node -h
funciona, mesmo que não haja um comando man específico. Mas não para os comandos 'DOS'; para aqueles que você pode fazerhelp dir
,help set
etc. Sigh./?
é mais usado com os comandos "dos" antigos. Mas, de qualquer maneira, não há um padrão, acho que já vi, por exemplo,-h
muito usado.Se você deseja executar os recursos do ECMAScript 6 na versão mais antiga do nodejs, pode usar o sinalizador --harmony. A versão mais recente do nó suporta o ES6, portanto, não é necessário o sinalizador --harmony
fonte
Permite módulos de harmonia no nó js: http://wiki.ecmascript.org/doku.php?id=harmony:modules
fonte
Conforme mencionado na documentação do nó, o sinalizador --harmony habilita os recursos não estáveis, mas que devem ser rapidamente estabilizados no ES6
fonte
Todos os recursos do ECMAScript 2015 (ES6) são divididos em três grupos para os recursos de remessa, teste e em andamento:
Todos os recursos de remessa , que a V8 considera estáveis, são ativados por padrão no Node.js e NÃO requerem nenhum tipo de sinalizador de tempo de execução.
Recursos intermediários , que são recursos quase concluídos que não são considerados estáveis pela equipe V8, exigem um sinalizador de tempo de execução: - harmonia .
Os recursos em andamento podem ser ativados individualmente por seu respectivo sinalizador de harmonia, embora isso seja altamente desencorajado, exceto para fins de teste. Nota: esses sinalizadores são expostos pela V8 e potencialmente serão alterados sem nenhum aviso de descontinuação.
fonte : https://nodejs.org/en/docs/es6/
fonte