Я всегда хочу запустить Node.JS с --harmony
флагом. Есть ли способ легко включить этот флаг по умолчанию?
(Примечание: я работаю в Windows, поэтому у меня есть доступ только к Cygwin или Mingw в качестве оболочек.)
Если вы говорите о работе в интерактивном режиме, вы можете использовать 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
. Некоторые обходные пути здесь .
Если вы готовы перекомпилировать 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
Очевидно, https://www.npmjs.org/package/setflags можно использовать для установки флагов во время выполнения, однако я не смог его установить .
Вы можете отредактировать файл node.js и:
Найдите переменную, которая проверяет свои настройки на «--harmony» или «гармония», что-то вроде:
if (variable_name == 'harmony') ...
Установите эту переменную ранее в коде:
var this_variable_name = 'harmony';
Почему бы вам не сконфигурировать package.json с помощью команды scripts ?
Например, добавьте в package.json:
"scripts": {
"start": "node --harmony server.js"
}
Затем запустите в cmd (в каталоге проекта):
начало вечера