javascript的ES2015[es6]规范出来以后,许多浏览器都开始支持ES6语法,但是很多低版本浏览器还不兼容,甚至一些高版本浏览器也不是完全支持ES6语法,所以需要使用Babe来将ES6代码转为ES5代码,从而在能够在浏览器上运行。
babeljs官网:https://babeljs.cn/
npm install babel-loader@version --save-dev
npm install babel-core@version --save-dev
npm install babel-preset-env --save-dev
module.exports = {
entry: {
app: './app.js' // 文件入口可以有多个,在多页或者不同类型组件的情况下可能有多个入口
},
output: {
filename: './output/[name].[hash:5].js' // name指打包的js的名称,如app,hash:5表示用5位不同的hash值
},
module: {
rules: [
{
test: /\.js$/, // 定义规则
use: {
loader: "babel-loader", // 使用babel-loader来执行
options: {
presets: [ // 预置运行环境
["env", {
targets: {
browsers: ['> 1%', 'last 2 versions']
}
}]
]
}
},
exclude: '/node_modules/' // 规则之外的文件不做这个操作
}
]
}
}
npm install bable-polyfill --save
import 'babel-polyfill'
Babel Runtime Transform(局部垫片)
新建文件.babelrc
文件,此文件是babel的配置文件。
安装npm install plugin-transform-runtime --save-dev
配置.babelrc文件
{
"presets":[ // 预置运行环境
["env", {
"targets": {
"browsers": ["> 1%", "last 2 versions"]
}
}]
],
"plugins": ["transform-runtime"]
}
webpack
命令打包