不好意思我又要來寫操作文檔了,看起來更像wiki的博客(如果你想深入學習,請閱讀文末列的參考資料)。本文將示例如何把ES6編譯成ES5。
首先,你要自行查閱什么是ES6,和ES5、javascript有什么關系,為什么要編譯ES6。廢話不多說,just test!
方法一:
第一步:項目目錄下安裝babel-cli和babel-preset-es2015。
這里有一點要說,如果使用npm鏡像下載失敗,就不要使用鏡像,vi ~/.npmrc去掉里面的鏡像設置。
第二步:配置編譯規則。
項目根目錄下新建文件.babelrc(注意,以點開頭的文件是隱藏文件,需要在linux環境通過命令創建),配置如下:
第三步:package.json里面添加下列代碼:
"scripts": { "babel": "babel app/js/es6Test.js -o app/js/es.js" }
運行npm run babel結果如下:
發生了什么呢?上面代碼的意思是,用babel編譯app/js/es6Test.js,編譯結果輸出到app/js/es.js。現在我們看一下結果是否符合預期:
結果符合預期,js目錄下多了一個es.js,並且es.js的內容是編譯后的結果。
至此,我們可以和ES6愉快的開始玩耍了。
但是,開始玩耍前,總覺得哪里不對,竟然還要手動編譯,作為gulp深度依賴粉,自認為已經懶無救葯了,所以必須再優化一下編譯流程,來看方法二:
第一步:安裝gulp-babel(上面已經安裝了babel-preset-es2015,此處不再重復安裝)。
第二步:gulpfile.js里面新增babel任務如下:
現在咱們就可以通過gulp來編譯了:
剩下的就是gulp任務流優化&es6 體驗!
一:參考資料:
1、ECMAScript6入門(作者:阮一峰)http://es6.ruanyifeng.com/#docs/intro
2、babel官網 https://babeljs.io/
3、npm插件之gulp-babel https://www.npmjs.com/package/gulp-babel
二:感謝GF大神的指導。