【前言】
使用webpack,或者说前端开发逃不开babel,Babel · The compiler for next generation JavaScript
简单的说,目前浏览器的环境不支持一些高级js特性,babel用来抹平这些特性,
通过babel可以讲高级特性写的js代码转为浏览器支持的版本,比如将es6的代码转为es5的代码
【babel支持react】
假设目前有一段简单的react代码,如下
由于其中采用了jsx语法,如何使webpack支持jsx语法,需要依赖于babel-loader的支持
安装相关npm包
npm install -D babel-loader @babel/core @babel/preset-react
webpack配置文件中添加jsx的rule
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: { presets: ["@babel/preset-react"] }
},
],
},
构建后,效果如图
以上代码详见:https://github.com/insistime/webpack-guides/tree/1.0.3