Toujours exécuter le nœud avec le drapeau --harmony

15

Je veux toujours exécuter Node.JS avec le --harmonydrapeau. Existe-t-il un moyen d'activer facilement ce drapeau par défaut?

(Remarque: je fonctionne sous Windows, je n'ai donc accès qu'à Cygwin ou Mingw en tant que shells.)

Randomblue
la source

Réponses:

14

Si vous parlez d'exécuter de manière interactive, vous pouvez utiliser un bash alias. Mettez ceci dans votre ~/.bashrc:

alias node="node --harmony"

(Pour ce qui suit: notez que lorsque je dis «exécutable», je ne parle pas seulement de fichiers binaires ou de «fichiers .exe». )

Si vous souhaitez exécuter un exécutable, par exemple dans un autre script, vous pouvez créer un script shell qui lance la cible avec l'indicateur supplémentaire:

Créez un nodeHarmonyet mettez-le dans votre chemin de recherche, par exemple /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Alors chmod a+xça.

Exécutez ensuite nodeHarmonychaque fois que vous souhaitez ajouter cet indicateur. Si vous souhaitez remplacer l' nodeexécutable, vous pouvez probablement renommer nodequelque chose d'autre (par exemple node_original), nommer le script nodeet l'utiliser node_originaldans le script.

Vous pouvez également créer le script de commandes Windows équivalent, qui fonctionnerait en dehors de Cygwin / MinGW:

@echo off

node --harmony %*

Cela se comporterait de la même manière, mais pourrait présenter des effets étranges avec certaines combinaisons d'arguments, car la liste serait analysée deux fois - une fois lors de l'exécution du script de commandes et une fois dans le script lors de l'exécution node. Quelques solutions de contournement ici .

Bob
la source
4

Si vous êtes prêt à recompiler node.js, l'article Comment obtenir l'harmonie dans votre node.js dit:

Une fois que vous avez le code source, ouvrez-le deps/v8/src/flag-definitions.het recherchez la ligne 115. Changez le drapeau de faux à vrai:

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

Compilez ensuite Node:

./configure && make && make install
harrymc
la source
0

Vous pouvez modifier le fichier node.js et:

  1. Recherchez une variable qui vérifie son réglage pour "--harmony" ou "harmonie", quelque chose comme:

    if (variable_name == 'harmony') ...
    
  2. Définissez cette variable plus tôt dans le code:

    var this_variable_name = 'harmony';
    
pbies
la source
0

Pourquoi ne configurez-vous pas le package.json avec une commande de scripts ?

Par exemple, ajoutez à package.json:

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

Exécutez ensuite en cmd (dans le répertoire du projet):

npm start

Noam Manos
la source