Завжди виконуйте вузол із прапором --гармонія


15

Я завжди хочу запустити Node.JS з --harmonyпрапором. Чи є спосіб легко включити цей прапор за замовчуванням?

(Примітка. Я працюю в Windows, тому у мене є лише доступ до Cygwin або Mingw як оболонок.)

Відповіді:


14

Якщо ви говорите про інтерактивний біг, ви можете використовувати баш 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")

Потім компілюйте Вузол:

./configure && make && make install


0

Ви можете редагувати файл node.js і:

  1. Шукайте змінну, яка перевіряє її налаштування на "--гармонія" чи "гармонія", як-от:

    if (variable_name == 'harmony') ...
    
  2. Встановіть цю змінну раніше в коді:

    var this_variable_name = 'harmony';
    

0

Чому ви не налаштуєте package.json за допомогою команди скриптів ?

Наприклад, додати до package.json:

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

Потім запустіть у cmd (у каталозі проекту):

npm старт

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.