本文介绍了如何使用webpack解析ES6、JSX、CSS等资源
解析ES6
解析es6需要使用到babel
,同时需要使用babel-loader
首先,先配置babel
配置文件.babelrc
:
1 | // .babelrc |
.babelrc
文件中的plugins
字段,可以理解为一个plugin对应一个功能,
而presets
则是多个plugin的集合
接着需要在webpack.config.js
中增加相关loader的配置:
1 | // webpack.config.js |
然后安装相关依赖:
1 | npm i @babel/core @babel/preset-env babel-loader -D |
安装完毕重新编译下即可。
解析React JSX
首先,先配置babel
配置文件.babelrc
:
1 | // .babelrc |
接着在webpack.config.js
中修改babel-loader
的校验规则:
1 | // webpack.config.js |
然后安装相关依赖:
1 | npm i @babel/preset-react -D |
安装完毕即可使用react的jsx相关语法。
解析CSS
解析CSS需要用到两个loader:
css-loader
加载css文件,并转换为commonJS对象style-loader
将样式通过<style>
标签插入到head中
在webpack.config.js
中修改loader配置:
1 | // webpack.config.js |
需要注意的是,loaders链式调用,
从右到左
,所以先写style-loader,再写css-loader
然后安装相关依赖:
1 | npm i style-loader css-loader -D |
解析Less、Sass
Less和Sass的解析步骤与CSS类似,只需要多一步将Less/Sass转换为CSS即可。
配置如下:
1 | // webpack.config.js |
注意,less-loader
需要一同安装less
;sass-loader
需要一同安装node-sass
解析图片、字体等
解析图片、字体等文件,可使用file-loader
或url-loader
。
url-loader
底层也是调用的file-loader
。
在使用上,url-loader
可以将小资源以Base64的方式编码到文件中,减少文件数,使用方法如下:
1 | // webpack.config.js |