ES6+的转码
如果想使用ES6+
语法,那可以使用 babel-loader
和 babel-preset-env
。
如果想进一步了解关于 babel
的信息,请看这两篇文章。
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js$/,
use: 'babel-loader' // 可以在这里进行关于babel的配置项,不过通常建议新建一个.babelrc文件进行配置
}
]
}
}
.bablerc
{
"presets": [
["env", {
"modules": false, // 关闭babel的模块化,使用webpack的模块化,方便我们使用tree-shaking,Scope Hositing等特性
"targets": {
"browsers": [">1%", "last 2 versions", "not ie <= 8"]
}
}]
]
}
需要注意的是,这里仅仅是对 ES6+
的语法进行转码,并没有对API进行转码,即:promise
arrow function
可以被转码,但 Array.find
等。 (这里其实并不是针对所有这些API,而是静态方法,看这里)
那我们还需要对这些API进行转码,所以可以使用 babel-polyfill
在项目中直接引用即可。