Jalankan selalu node dengan flag --harmony


15

Saya selalu ingin menjalankan Node.JS dengan --harmonybendera. Apakah ada cara untuk dengan mudah mengaktifkan bendera ini secara default?

(Catatan: Saya menjalankan pada Windows, jadi saya hanya memiliki akses ke Cygwin atau Mingw sebagai shells.)

Jawaban:


14

Jika Anda berbicara tentang berlari secara interaktif, Anda dapat menggunakan bash alias. Letakkan ini di ~/.bashrc:

alias node="node --harmony"

(Untuk yang di bawah ini: perhatikan bahwa ketika saya mengatakan "executable", saya tidak hanya berarti biner atau "file exe." )

Jika Anda ingin menjalankan executable, misalnya dalam skrip lain, Anda dapat membuat skrip shell yang meluncurkan target dengan bendera tambahan:

Buat nodeHarmonydan letakkan di jalur pencarian Anda, misalnya /usr/local/bin:

#!/bin/sh

node --harmony "$@"

Lalu chmod a+xitu.

Kemudian jalankan nodeHarmonykapan pun Anda ingin bendera itu ditambahkan. Jika Anda ingin mengganti yang nodedapat dieksekusi, Anda mungkin dapat mengganti nama nodemenjadi sesuatu yang lain (misalnya node_original), beri nama skrip node, dan gunakan node_originaldi dalam skrip.

Anda juga bisa membuat skrip batch Windows yang setara, yang bisa digunakan di luar Cygwin / MinGW:

@echo off

node --harmony %*

Ini akan berperilaku serupa, tetapi mungkin menunjukkan efek aneh dengan beberapa kombinasi argumen, karena daftar akan diurai dua kali - sekali ketika menjalankan skrip batch, dan satu kali dalam skrip ketika mengeksekusi node. Beberapa solusi di sini .


4

Jika Anda siap untuk mengkompilasi ulang node.js, artikel Cara mendapatkan harmoni di node.js Anda mengatakan:

Setelah Anda mendapatkan kode sumber, buka deps/v8/src/flag-definitions.hdan cari Baris 115. Ubah flag dari false menjadi true:

DEFINE_bool(harmony, true, "enable all harmony features")

Kemudian kompilasi Node:

./configure && make && make install


0

Anda dapat mengedit file node.js dan:

  1. Cari variabel yang memeriksa pengaturannya untuk "--harmony" atau "harmoni", sesuatu seperti:

    if (variable_name == 'harmony') ...
    
  2. Setel variabel ini sebelumnya dalam kode:

    var this_variable_name = 'harmony';
    

0

Mengapa Anda tidak mengkonfigurasi package.json dengan perintah skrip ?

Sebagai contoh, tambahkan ke package.json:

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

Kemudian jalankan dalam cmd (dalam direktori proyek):

mulai npm

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.