webstorm ES6 轉 ES5


一句話總結:用WebStorm自帶的File Watcher功能+Babel實現自動轉換ECMAScript 6代碼為ES5代碼


1.

  新建一個Empty Project,然后在src目錄下新建了一個main.js;

 // 這一步不是必須的 只是剛上手的話 從空項目開始自己配置會少很多干擾

2. 

  進入設置,把JavaScript language version改成ECMAScript 6;

3. 

  再Then..寫一段ES6代碼

'use strict';
// node直接運行ES6代碼時,如使用了ES6的一些關鍵字,比如let,就需要嚴格模式,否則會報錯
// 這是沒有嚴格模式時候的錯誤提示
// SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode


function* fibs() {// Generator Function
    let a = 0;
    let b = 1;
    while (true) {
        yield a;
        // [a, b] = [b, a + b];
        b = a + b;
        a = b - a;
    }
}
let [first, second, third, fourth, fifth, sixth] = fibs();
console.log(first, second, third, fourth, fifth, sixth);

4.

  現在IDE會出現一個File watcher提示條

  先別點Add watcher!我們要先去裝babel~

  • 首先在根目錄新建一個package.json
    {
      "name": "test-project",
      "version": "1.0.0"
    }
  • 然后打開IDE的Terminal,安裝babel-cli
    npm install --save-dev babel-cli

    Good! 現在可以去點Add watcher啦,點完之后會彈出一個框,其中大部分設置IDE都幫你搞定了

 

  • 下面第三行,Program那一項,填(其實選的是 babel.cmd)
    $ProjectFileDir$/node_modules/.bin/babel
    
    然后點OK,這個時候你就會發現左邊多出來一個main-compiled.js文件啦

 

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

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

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

  

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


免責聲明!

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



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