WebStorm ES6 語法支持設置和ES6語法的JS文件編譯為ES5語法文件


ECMAScript 6是JavaScript語言的下一代標准,已經在2015年6月正式發布了。Mozilla公司將在這個標准的基礎上,推出JavaScript 2.0。
ES6的目標,是使得JavaScript語言可以用來編寫大型的復雜的應用程序,成為企業級開發語言。

在webstorm寫下了這段代碼,體驗一下ES6語法的便利,但是一大堆報錯


各種語法錯誤

what the fuck


相信每一只程序猴都不想在這樣的環境下編碼,反正本猴不想

1 語法支持設置

Preferences > Languages & Frameworks > JavaScript

這里只要配置ECMAScript版本即可

配置之后

2 自動轉碼為ES5

file watcher + babel(ES6轉碼器)

你可能希望你寫的代碼有更好的兼容性,但目前的ES6肯定不是所有瀏覽器都支持的,所以我們要用到ES6轉碼器。
Babel是一個廣泛使用的ES6轉碼器,可以將ES6代碼轉為ES5代碼,從而在瀏覽器或其他環境執行。這意味着,你可以用ES6的方式編寫程序,又不用擔心現有環境是否支持。

而且你還希望每次修改代碼時能自動轉碼,所以還要用到webstorm的file watcher(當然還有其他解決方案)

  • npm install -g babel
  • Preferences > Tools > File watchers
  • 點擊“+”按鈕

file watcher配置界面

File Type:配置該監聽器監聽的文件類型,可以在Preferences > Editor > File types中配置
Scope:配置該監聽器的監聽范圍,可自定義新的范圍,也可以使用Preferences > Appearance & Behavior > Scopes
Program:babel的安裝位置
Arguments:命令執行參數,參見Babel CLI
Working directory:babel命令執行的位置,默認為文件所在目錄

這樣對文件做修改會隨時生成編譯成ES5的文件以及sourceMap文件


編譯后會發現test-complie.js文件內容和test.js文件內容一樣。
  • 但是還沒搞定!現在只是搞定了自動轉換的功能,系統默認把ES6 compile成了ES6..(你應該會發現compile出來的東西跟原來的一樣..Generator函數並沒有被轉換成ES5的格式)

所以我們需要安裝Babel的preset以正確識別ES6代碼;

  • 和剛才一樣,在npm安裝babel的ES6的preset

在webstorm中打開命令行   

輸入以下命令

npm install --save-dev babel-preset-es2015

 


  • 在根目錄下新建一個.babelrc文件(就是babel在當前項目的配置文件),寫上
{ "presets": [ "es2015" ] } 

  • OK搞定!保存再回去看一下test-compiled.js 應該就變成這個樣子啦,現在你在test.js里直接寫ES6代碼,IDE都會自動compile成ES5的代碼在這里啦~


  • 注意:想直接用Node.js運行ES6代碼還是有些問題..因為這段代碼用的ES6的解構賦值Node.js還未完全支持,需要在運行的時候加入一些tags(以開啟Node.js的相關試驗特性),具體可以參考Node.js官網對ES6的說明:ECMAScript 2015 (ES6)
 


參考文章:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM