webpack之重新认知babel-loader

前言:

在《 webpack之loader 》中webpack.config.js对babel-loader进行了简单配置。

这篇文章回到我们之前的webpack项目中,看看如何配置babel。


正文:

回顾之前babel-loader配置

这篇文章紧接之前文章 《 webpack之使用less和scss 》。

项目目录:

webpack之重新认知babel-loader

 package.json 配置。

其中babel-core和babel-loader是核心插件,babel-preset-env 和 babel-preset-react 是处理代码的两个预设。

webpack之重新认知babel-loader

如果package.json中相关插件没有安装,请执行 npm install 进行安装。

配置webpack.config.js如下:

webpack之重新认知babel-loader

可以看出options参数对应的内容和 .babelrc 中配置完全一致。

编辑app.js内容:

webpack之重新认知babel-loader

执行npm run dev ,浏览器打开文件,可以发现 app.js中 箭头函数 和 jsx语法 均正常编译。


优化babel-loader配置

1、添加exclude配置

现在我们的所有js文件中代码都会被babel-loader处理(包括import 进来的react和react-dom文件),不管是否真正需要。

如何让babel-loader有针对性的处理需要处理的文件?根据以前文章的介绍,只需在babel-loader的配置下添加配置exclude。

webpack之重新认知babel-loader

2、添加.babelrc文件

如果babel-loader下的options配置比较复杂,最好配置.babelrc文件。

在项目下新建.babelrc文件,

webpack之重新认知babel-loader

编辑.babelrc文件(直接将options对应的内容拿过来就好):

webpack之重新认知babel-loader

编辑webpack.config.js

webpack之重新认知babel-loader

增加了.babelrc文件后,options项即可省略,在执行babel-loader的时候默认会去读.babelrc中的配置。

执行 npm run build 编译成功!