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版本默認包含各種轉(zhuǎn)換插件,然而Babel6.x相關(guān)轉(zhuǎn)換插件需要自己下載,如transform-es2015-arrow-functions、transform-es2015-classes等,而ES2015 preset包含了所有插件。如果不安裝任何插件,那么在命令行進行轉(zhuǎn)換是沒有任何效果的! 其中--save參數(shù)自動更新package.json文件,寫進依賴項
3、在命令行輸入:
babel es6.js --presets es2015
注:后面的參數(shù)--presets es2015表示使用該插件進行編譯,如果不寫上轉(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進行轉(zhuǎn)換而無需添加表明所用插件的參數(shù)
除了建立.babelrc文件之外,也可在package.json中進行配置,添加以下屬性即可:
"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、實時監(jiān)控es6.js一有變化就重新編譯(使用 -w 或 --watch )
babel es6.js -w --out-file es5.js
babel es6.js --watch --out-file es5.js
4、編譯整個src文件夾并輸出到lib文件夾中(使用 -d 或 --out-dir )
babel src -d lib
babel src --out-dir lib
5、編譯整個src文件夾并輸出到一個文件中
babel src --out-file es5.js
6、直接輸入babel-node命令,可以在命令行中直接運行ES6代碼
babel-node
ES6新特性在Babel下的兼容性列表
| ES6特性 | 兼容性 |
|---|---|
| 箭頭函數(shù) | 支持 |
| 類的聲明和繼承 | 部分支持,IE8不支持 |
| 增強的對象字面量 | 支持 |
| 字符串模板 | 支持 |
| 解構(gòu) | 支持,但注意使用方式 |
| 參數(shù)默認值,不定參數(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ù)組拷貝 | 支持 |