2015-08-13 15 views
7

Để sử dụng es6, chúng tôi vượt qua lá cờ hòa trong dòng lệnhTôi có thể chỉ định es6 bên trong tập tin nút js

node --harmony myscript.js 

Có cách nào để làm điều này từ bên trong tập tin, chẳng hạn như use harmony?

#! /usr/bin/node 
use harmony 

class MyScript { 
    constructor (options) { 
     this.options = options; 
    } 
    get options() { 
     return this.options 
    } 
} 
+1

Không, tuy nhiên, bạn có thể làm một cái gì đó tương tự với babel, nhưng nó sẽ không ảnh hưởng đến mã mà không phải là 'yêu cầu' bởi vì nó làm điều của nó bằng cách sử dụng một móc yêu cầu. –

+0

'#!/usr/bin/node --harmony'? – Bergi

Trả lời

4

Nếu mục đích của bạn là để làm điều này chỉ để bạn có thể chạy các script trực tiếp như ./myscript.js bạn có thể sử dụng này:

#!/bin/sh 
':' //; exec node --harmony "$0" "[email protected]"; 

class MyScript { 
    constructor (options) { 
     this.options = options; 
    } 
    get options() { 
     return this.options 
    } 
} 

tôi đã lừa nhiều thứ tiếng từ blog Obscure Javascript.

Nếu bạn có ý định bắt đầu một tập lệnh khác mà không cần --harmony có thể require tập lệnh này, thì mẹo này sẽ không hoạt động.

+0

Tôi muốn có thể yêu cầu tập lệnh es6, vì vậy tôi nghĩ rằng miễn là tệp ban đầu của tôi sử dụng thủ thuật này, nó sẽ hoạt động tốt. – Shanimal

+1

@Shanimal Vâng, miễn là điểm bắt đầu bắt đầu nút với '--harmony', mọi tập lệnh được yêu cầu từ sẽ sử dụng nó. – Paulpro

+0

Hình như '#!/usr/bin/node --harmony' cũng hoạt động. Có sự khác biệt nào không? – Shanimal

Các vấn đề liên quan