1、webpack中对css文件的处理使用的是: MiniCSSExtractPlugin、css-loader、post-loader。
2、在plugins中也相对应的设置一个MiniCssExtractPlugin,打包后将css文件单独抽离到了css文件夹下
3、打包后的目录
4、打包后的css里面的url
6、再次打包,url引入正确
很简单,但是如果不注意,还真的很容易掉坑里!!
文接上回,继续看 webpack 的插件:这里默认你已经搭建出来一个 React 框架。我就是在这个基础上演示的。
mini-css-extract-plugin作用: 该插件的主要是为了抽离 css 样式,防止将样式打包在 js 中文件过大和因为文件大网络请求超时的情况。
extract-text-webpack-plugin 是 mini-css-extract-plugin 的前身,不过前者在 webpack4 算是废了。
安装依赖:
然后引入,配置提出 css 样式,重命名 css 文件。
其中上面的 rules 还可以修改变成这样:
打包出来的 index.css将会插入 index.html 里面的 head 标签里面。
现在如果使用下面的样式:
其中 transform: rotate(45deg) 是 css3 的样式。我们想批量给它增加前缀。这时就得使用 autoprefixer 。但是还的用一个 loader 来处理,这个 loader 就叫 postcss-loader 。
安装依赖:
配置时 postcss-loader 执行顺序必须保证在 css-loader 之前。
完成之后 在webpack.config.js 同级目录下新建 post.config.js 输入内如下:
打包之前的 css 样式为:
经过插件处理之后为:
如果你不想新建一个 post.config.js 文件的话可以这样配置:
处理的效果是完全和分开写一样的。
这里需要注意的是在 HtmlWebpackPlugin 插件里面的配置压缩 css 参数只对自己创建的模板有效,所以这里引包的 css 并没有压缩。我们还的专门配置 压缩 css 的插件。它就是 optimize-css-assets-webpack-plugin 。 terser-webpack-plugin 是对打包的 JS 进行压缩的。
安装依赖:
注意: 使用 optimize-css-assets-webpack-plugin 插件和 terser-webpack-plugin 插件的时候 webpack 的 mode (模式)一定的是 生产模式(production) 。
简单配置就能压缩 css 和 JS 了。还是很有用的,压缩完成明显文件变小了。
友情提示: