Я завжди хочу запустити Node.JS з --harmony
прапором. Чи є спосіб легко включити цей прапор за замовчуванням?
(Примітка. Я працюю в Windows, тому у мене є лише доступ до Cygwin або Mingw як оболонок.)
Я завжди хочу запустити Node.JS з --harmony
прапором. Чи є спосіб легко включити цей прапор за замовчуванням?
(Примітка. Я працюю в Windows, тому у мене є лише доступ до Cygwin або Mingw як оболонок.)
Відповіді:
Якщо ви говорите про інтерактивний біг, ви можете використовувати баш 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")
Потім компілюйте Вузол:
./configure && make && make install
Мабуть, https://www.npmjs.org/package/setflags можна використовувати для встановлення прапорів під час виконання, проте я не зміг його встановити .
Чому ви не налаштуєте package.json за допомогою команди скриптів ?
Наприклад, додати до package.json:
"scripts": {
"start": "node --harmony server.js"
}
Потім запустіть у cmd (у каталозі проекту):
npm старт