es6—>es5 babel __veblen
前端構(gòu)建工具塌衰,內(nèi)置解析es6語法,核心在于babel !
1、首先安裝babel-cli(用于在終端使用babel)
npm install -g babel-cli
2靶庙、然后安裝babel-preset-es2015插件
npm install --save babel-preset-es2015
注:Babel5版本默認(rèn)包含各種轉(zhuǎn)換插件问畅,然而Babel6.x相關(guān)轉(zhuǎn)換插件需要自己下載娃属,如transform-es2015-arrow-functions、transform-es2015-classes等护姆,而ES2015 preset包含了所有插件矾端。如果不安裝任何插件,那么在命令行進(jìn)行轉(zhuǎn)換是沒有任何效果的卵皂! 其中--save參數(shù)自動(dòng)更新package.json文件秩铆,寫進(jìn)依賴項(xiàng)
3、在命令行輸入:
babel es6.js --presets es2015
注:后面的參數(shù)--presets es2015表示使用該插件進(jìn)行編譯灯变,如果不寫上轉(zhuǎn)換是沒有效果的殴玛。
4、插件配置
每一次都寫上該參數(shù)那是很麻煩的添祸,可以在當(dāng)前目錄下新建配置文件 .babelrc滚粟。 但是在windows系統(tǒng)中,不允許直接右鍵建立沒有文件名的文件刃泌,可以通過cmd命令行創(chuàng)建:在當(dāng)前文件夾打開cmd并鍵入命令
type nul>.babelrc
即可在當(dāng)前目錄下建立文件.babelrc凡壤,接著在文件中寫入:
{
"presets": ['es2015']
}
那么就可以直接在命令行中使用babel es6.js進(jìn)行轉(zhuǎn)換而無需添加表明所用插件的參數(shù)
除了建立.babelrc文件之外,也可在package.json中進(jìn)行配置耙替,添加以下屬性即可:
"babel": {
"presets": ["es2015"]
}
附Babel常用命令: 1亚侠、轉(zhuǎn)換es6.js文件并在當(dāng)前命名行程序窗口中輸出
babel es6.js
2、將es6.js轉(zhuǎn)換后輸出到es5.js文件中(使用 -o 或 --out-file )
babel es6.js -o es5.js
babel es6.js --out-file es5.js
3俗扇、實(shí)時(shí)監(jiān)控es6.js一有變化就重新編譯(使用 -w 或 --watch )
babel es6.js -w --out-file es5.js
babel es6.js --watch --out-file es5.js
4硝烂、編譯整個(gè)src文件夾并輸出到lib文件夾中(使用 -d 或 --out-dir )
babel src -d lib
babel src --out-dir lib
5、編譯整個(gè)src文件夾并輸出到一個(gè)文件中
babel src --out-file es5.js
6铜幽、直接輸入babel-node命令钢坦,可以在命令行中直接運(yùn)行ES6代碼
babel-node
ES6新特性在Babel下的兼容性列表
ES6特性 | 兼容性 |
---|---|
箭頭函數(shù) | 支持 |
類的聲明和繼承 | 部分支持究孕,IE8不支持 |
增強(qiáng)的對象字面量 | 支持 |
字符串模板 | 支持 |
解構(gòu) | 支持,但注意使用方式 |
參數(shù)默認(rèn)值爹凹,不定參數(shù)厨诸,拓展參數(shù) | 支持 |
let與const | 支持 |
for of | IE不支持 |
iterator, generator | 不支持 |
模塊 module、Proxies禾酱、Symbol | 不支持 |
Map微酬,Set 和 WeakMap,WeakSet | 不支持 |
Promises颤陶、Math颗管,Number,String滓走,Object 的新API | 不支持 |
export & import | 支持 |
生成器函數(shù) | 不支持 |
數(shù)組拷貝 | 支持 |