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

15

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

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

Randomblue
источник

Ответы:

14

Если вы говорите о работе в интерактивном режиме, вы можете использовать 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. Некоторые обходные пути здесь .

боб
источник
4

Если вы готовы перекомпилировать 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
harrymc
источник
0

Вы можете отредактировать файл node.js и:

  1. Найдите переменную, которая проверяет свои настройки на «--harmony» или «гармония», что-то вроде:

    if (variable_name == 'harmony') ...
    
  2. Установите эту переменную ранее в коде:

    var this_variable_name = 'harmony';
    
pbies
источник
0

Почему бы вам не сконфигурировать package.json с помощью команды scripts ?

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

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

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

начало вечера

Ноам Манос
источник