
Я всегда хочу запускать 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 (в каталоге проекта):
начало нпм