Zawsze chcę uruchomić Node.JS z --harmony
flagą. Czy istnieje sposób, aby łatwo włączyć tę flagę domyślnie?
(Uwaga: działam w systemie Windows, więc mam dostęp tylko do Cygwin lub Mingw jako powłoki).
Jeśli mówisz o uruchomieniu interaktywnym, możesz użyć bash alias
. Umieść to w ~/.bashrc
:
alias node="node --harmony"
(Poniżej: zauważ, że kiedy mówię „wykonywalny”, nie mam na myśli tylko plików binarnych lub „plików .exe”. „Pliki wykonywalne” obejmują wszystko, co można wykonać bez jawnego wywoływania interpretera, w tym skrypty z shebangiem. )
Jeśli chcesz uruchomić plik wykonywalny, np. W innym skrypcie, możesz utworzyć skrypt powłoki, który uruchamia cel z dodatkową flagą:
Utwórz a nodeHarmony
i umieść go w ścieżce wyszukiwania, np . /usr/local/bin
:
#!/bin/sh
node --harmony "$@"
Więc chmod a+x
to.
Następnie wykonaj, nodeHarmony
gdy chcesz dołączyć tę flagę. Jeśli chcesz zastąpić node
plik wykonywalny, prawdopodobnie możesz zmienić nazwę node
na inną (np. node_original
), Nazwać skrypt node
i użyć go node_original
w skrypcie.
Można również utworzyć równoważny skrypt wsadowy systemu Windows, który działałby poza Cygwin / MinGW:
@echo off
node --harmony %*
Zachowałoby się to podobnie, ale może wykazywać dziwne efekty w przypadku niektórych kombinacji argumentów, ponieważ lista byłaby analizowana dwukrotnie - raz podczas wykonywania skryptu wsadowego, a raz w skrypcie podczas wykonywania node
. Kilka obejść tutaj .
Jeśli chcesz ponownie skompilować plik node.js, w artykule Jak uzyskać harmonię w pliku node.js jest napisane:
Po uzyskaniu kodu źródłowego otwórz
deps/v8/src/flag-definitions.h
i poszukaj wiersza 115. Zmień flagę z false na true:DEFINE_bool(harmony, true, "enable all harmony features")
Następnie skompiluj Węzeł:
./configure && make && make install
Najwyraźniej https://www.npmjs.org/package/setflags można użyć do ustawienia flag w czasie wykonywania, jednak nie udało mi się go zainstalować .
Możesz edytować plik node.js i:
Wyszukaj zmienną, która sprawdza jej ustawienie dla „--harmonia” lub „harmonia”, coś w stylu:
if (variable_name == 'harmony') ...
Ustaw tę zmienną wcześniej w kodzie:
var this_variable_name = 'harmony';
Dlaczego nie skonfigurujesz pliku package.json za pomocą polecenia skryptów ?
Na przykład dodaj do package.json:
"scripts": {
"start": "node --harmony server.js"
}
Następnie uruchom w cmd (w katalogu projektu):
npm start