Всегда запускайте node с флагом --harmony

Всегда запускайте node с флагом --harmony

Я всегда хочу запускать Node.JS с этим --harmonyфлагом. Есть ли способ легко включить этот флаг по умолчанию?

(Примечание: я работаю на Windows, поэтому у меня есть доступ только к Cygwin или Mingw в качестве оболочек.)

решение1

Если вы говорите о запуске в интерактивном режиме, вы можете использовать bash alias. Вставьте это в свой ~/.bashrc:

alias node="node --harmony"

(Для нижеследующего: обратите внимание, что когда я говорю «исполняемый файл», я не имею в виду только двоичные файлы или «файлы .exe». «Исполняемые файлы» включают в себя все, что может быть выполнено без явного вызова интерпретатора, что включает в себя скрипты с шебангом.)

Если вы хотите запустить исполняемый файл, например, внутри другого скрипта, вы можете создать скрипт оболочки, который запускает цель с дополнительным флагом:

Создайте nodeHarmonyи поместите его в путь поиска, например /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Затем chmod a+xэто.

Затем выполните его nodeHarmonyвсякий раз, когда вы хотите, чтобы этот флаг был добавлен. Если вы хотите заменить nodeисполняемый файл, вы, вероятно, могли бы переименовать его nodeво что-то другое (например, node_original), назвать скрипт nodeи использовать node_originalв скрипте.

Вы также можете создать эквивалентный пакетный скрипт Windows, который будет работать вне Cygwin/MinGW:

@echo off

node --harmony %*

Это будет вести себя аналогично, но может демонстрировать странные эффекты с некоторыми комбинациями аргументов, поскольку список будет проанализирован дважды — один раз при выполнении пакетного скрипта и один раз внутри скрипта при выполнении node. Некоторые обходные путиздесь.

решение2

Если вы готовы перекомпилировать node.js, статья Как достичь гармонии в вашем node.jsговорит:

Получив исходный код, откройте его deps/v8/src/flag-definitions.hи найдите строку 115. Измените флаг с false на true:

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

Затем скомпилируйте Node:

./configure && make && make install

решение3

Видимоhttps://www.npmjs.org/package/setflagsможет использоваться для установки флагов во время выполнения, однакоМне не удалось его установить..

решение4

Почему бы вам не настроитьпакет.jsonсскриптыкоманда?

Например, добавьте в package.json:

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

Затем запустите в cmd (в каталоге проекта):

начало нпм

Связанный контент