以下是学习笔记:
1.babel的作用是将 新的ES语法 转化为浏览器能识别的语法(语法转换)
1.1-安装包
npm i -D babel-core babel-loader@7
npm i -D babel-preset-env //env支持ES6,ES7,ES8,相当于告诉babel处理要处理这些新的语法
1.2-配置babel
// 在module下rules中配置babel
{
test: /\.js$/,
use: 'babel-loader',
// 排除掉不需要 babel 处理的文件路径
// 一般,都会将 node_modules 排除掉,因为里面全是ES5语法
exclude: /node_modules/
}
1.3-在项目根目录下新建.babelrc文件,在里面配置预设信息
{
"presets": ["env"]
}
1.4-让babel处理那些处于草案阶段还未成为标准的语法
安装包并配置
npm i -D babel-preset-stage-2
{
"presets": ["env", "stage-2"]
//比如对象的拓展运算符{...obj}不是标准,配置stage-2就可以让babel编译草案阶段还未成为标准的语法,只要能进入草案阶段,几乎就可以确定会成为标准
}
2.babel实现浏览器兼容最新版ES的API(transform-runtime或babel-ployfill)
以transform-runtime为例
npm i -D babel-plugin-transform-runtime
npm i -S babel-runtime
在.babelrc中配置
"plugins":[
"transform-runtime"
]