Zawsze chcę uruchomić Node.JS z --harmonyflagą. 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).
Zawsze chcę uruchomić Node.JS z --harmonyflagą. 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).
Odpowiedzi:
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 nodeHarmonyi umieść go w ścieżce wyszukiwania, np . /usr/local/bin:
#!/bin/sh
node --harmony "$@"
Więc chmod a+xto.
Następnie wykonaj, nodeHarmonygdy chcesz dołączyć tę flagę. Jeśli chcesz zastąpić nodeplik wykonywalny, prawdopodobnie możesz zmienić nazwę nodena inną (np. node_original), Nazwać skrypt nodei użyć go node_originalw 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.hi 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ć .
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