webpack4 零丁抽离打包 css 的新完成
媒介
之前我们运用的打包 css 不过两种体式格局:① 将 css 代码打包进 进口 js 文件中;② 运用第三方插件(extract-text-webpack-plugin)完成【注重,该插件在 webpack4 中已不引荐运用,而且会涌现种种稀里糊涂的 bug】
恰是基于对以上两种体式格局瑕玷的思索,连系我的实际运用历程,我以为今后我们应当完整摒弃掉上述两种体式格局,这里引荐一种一种新的完成体式格局:file-loader
file-loader
我先给个 file-loader 的运用说明吧(传送门:
https://github.com/webpack-co…;在我们的传统认知中 file-loader 大多是用来处置惩罚 图象元素的,实在假如你仔细看过上面的谁人传送门的话,才邃晓我们一直以来是被被误导了,下面我给出几个官方的运用例子吧
传统的处置惩罚图象
module.exports = {
module: {
rules: [
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'file-loader',
options: {},
},
],
},
],
},
};
处置惩罚 css 【本文重点】
const path = require('path');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: {
app: './src1/index.js',
print: './src1/print.js'
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{ // loader 图片
test: /\.(png|svg|jpg|gif)$/,
use: ['file-loader']
},
{ // 处置惩罚字体
test: /\.(woff|woff2|eot|ttf|otf)$/,
use: [
'file-loader'
]
},
{
// 零丁打包出 css
test: /\.css$/,
use: ['file-loader']
}
]
},
plugins: [
new CleanWebpackPlugin(['dist']),
new HtmlWebpackPlugin({
title: 'webpack4 extract css methord of new',
template: './src1/index.html',
filename: 'index.html',
minify: {
collapseWhitespace: true
},
hash: true
})
],
mode: "production"
};
上面这个代码是我亲身实测过的,人人能够宁神自创,运用了 file-loader 来处置惩罚 css 后,就不再须要分外的插件了,固然了,假如你须要指定输出的 css 文件名和途径,能够这么写 user: ['file-loader?name=[name].bundle[hash].css']
等,这里的写法就是相似 get 体式格局的传参那样,?
标记后面带参数名即可
仅供参考,假如你有什么更好的发起能够 contact 我哦
声明
原创手敲不容易,转载请说明出处,感谢。我是拉丁小毛,迎接人人关注我哦,一同交换,共同进步。有题目能够
邮我哦(util.you.com@gmail.com)