6.webpack使用babel-loader转换ES6代码

271 阅读1分钟

知识回顾:

上一节学习了使用url-loader加载打包图片文件,url-loader通过Data URLs协议将图片文件转换为base64编码嵌入到js代码中,也可以用来处理html文件,处理不同的文件对应不同的编码格式。还可以使用选项属性limit指定文件大小来选择要用url-loader处理文件还是用file-loader,使用此方法的时候需要安装file-loader。

常用加载器分类

  • 编译转换类,如css-loader
  • 文件操作类,如file-loader
  • 代码检查类,如eslint-loader,目的是统一代码风格,提高代码质量

babel-loader

使用webpack打包并不会将我们代码中的es6特性的代码转换为兼容性较高的es5,之所以会去处理import和export,是因为模块打包需要,但webpack仅仅只是处理了import和export。

如果想要转换es6代码,可以使用babel-loader,由于babel-loader依赖于babel的核心模块,所以还需要安装@babel/core,以及用于完成具体特性转换的插件的集合@babel/preset-env

安装完成过后在webpack.config.js文件中配置js文件的加载器为babel-loader

跟正常的loader的使用方法一样,这里指定loader的值为babel-loader,只指定loader还不行,因为babel-loader只是一个转换js代码的平台,具体转换还是要依靠@babel/preset-env插件来实现。

需要注意的是presets属性的值是一个数组,因为babel-loader这个平台还可以通过其他的插件去转换其他特性的代码