尽管babel可以将es6+转换成es5或更低版本,但是它不能解决所有的浏览器兼容问题。
- api兼容问题, babel转换的全局属性方法(Promise fetch Array.prototype.includes)在旧版浏览器是不支持的
- 确保在不同浏览器有一致的行为
webpack.config.js
module.exports = {
entry: './src/index.js',
output: {
filename: 'main.js',
},
// mode: 'production', // 或者 'production'
module: {
rules: [
{
test: /\.js/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
}
npm i core-js
src/index.js
import 'core-js/stable'
let a = 1
a+=1