node.js - node --harmony不起效果 --harmony_destructuring卻可以?
問題描述
我在node上使用一些ES6新特性,比如解構(gòu)賦值.結(jié)果卻發(fā)現(xiàn)一個神奇的現(xiàn)象node --harmony a.js不起效果而node --harmony_destructuring a.js 才能起效
比如 我寫了一個test.js,內(nèi)容如下:
var [a, b, c] = [1, 2, 3];console.log(a,b,c);
很顯然,這就是一個實驗解構(gòu)賦值的例子
然后我在命令行里輸入node --harmony test.js報錯信息如下:
/Users/chuck7/repository/test/test.js:5var [a, b, c] = [1, 2, 3]; ^SyntaxError: Unexpected token [ at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:968:3
如果用node --harmony_destructuring test.js就可以正確輸出
1 2 3
這是神馬情況? --harmony不是開啟所有harmony選項嗎?
注: 以上實驗在node v4.4.5 版本上運行
問題解答
回答1:謝謝邀請.其實你的問題可以在官方文檔中找到:https://nodejs.org/en/docs/es6/.對于es6的功能分成了3個部分:shipping, staged 和 in progress.shipping功能:這些功能是已經(jīng)穩(wěn)定的。已經(jīng)寫入了node.js中的,直接就可以使用staged功能:此功能是幾乎完成的功能,但是v8團隊沒有考慮穩(wěn)定性,需要使用--harmony.in progress功能: 此功能是需要寫出標簽的,比如你上面寫的--harmony_destructuring.你可以通過下面的命令查看
node --v8-options | grep ’in progress’
相關(guān)文章:
1. 如何解決docker宿主機無法訪問容器中的服務(wù)?2. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????3. require后不用使用echo返回到微信服務(wù)器 嗎4. nginx - 如何將wordpress系統(tǒng)放在二級域名下5. javascript - 請問要如何修改 Node 的透明度嗎?6. javascript - 求助,nodeJS和koa2文檔對新手小白太不友好,一臉懵逼。。。7. css3 background顯示圖片的一部分8. vim中編輯HTML文件時換行不能縮進9. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項10. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫
