webpack - webpack 提取 css 成单独文件、css 兼容性处理、压缩 css 等详细教程操作(示例解析 webpack 提取 css 为单独文件)

介绍

关于webpack提取css为单独文件的相关问题,包括了css兼容性处理以及压缩css等内容,下面一起来看一下,希望对大家有帮助。

安装插件并引入

npm install mini-css-extract-plugin -D
const MiniCssExtractPlugin = require('mini-css-extract-plugin')

配置插件plugins

plugins: [
	new HtmlWebpackPlugin({
		template:'./src/index.html'
	}),
	new MiniCssExtractPlugin({
		filename:'css/built.css'//对输出的文件进行重命名,默认为main.css
	})
],

修改loader文件

{
test:/.css$/,
	use:[
		//取代css-loader,提取js中css成单独文件(注意)
		MiniCssExtractPlugin.loader,
		//将css文件整合到JS文件中
		'css-loader',
	]
},

css兼容性处理

一、安装插件:

npm install postcss-loader postcss-preset-env -D

二、在module中配置postcss-loader并配置postcss-preset-env插件

{
test:/.css$/,
	use:[
		//取代css-loader,提取js中css成单独文件
		MiniCssExtractPlugin.loader,
		//将css文件整合到JS文件中
		'css-loader',
		//css兼容性处理:postcss --> postcss-loader postcss-preset-env
		//帮postcss找到package.json中browserslist里面的配置,通过配置加载指定的css兼容性样式
		{
			loader:'postcss-loader',
			options: {
				ident: 'postcss',//默认配置
				plugins: () => [
					require('postcss-preset-env')()
				]
			}
		}
	]
},

三、配置package.json中的browserslist

"browserslist":{
	"development":[
		"last 1 chrome version",
		"last 1 firefox version",
		"last 1 safari version"
	],
	"production":[
		">0.1%",
		"not dead",
		"not op_mini all"
	]
}

四、为了使package.json中browserslist中的development环境生效,需要在webpack.config.js中配置环境,因为默认是生产环境,我们开发需要开发环境

const {resolve}=require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
//设置node.js环境变量,默认是生产环境,配置后为开发环境;
process.env.NODE_ENV = 'development';

压缩css

一、安装插件并引用

npm install optimize-css-assets-webpack-plugin -D
const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')

二、在plugins中配置插件

plugins: [
	new HtmlWebpackPlugin({
		template:'./src/index.html'
	}),
	new MiniCssExtractPlugin({
		filename:'css/built.css'//对输出的文件进行重命名
	}),
	//压缩css文件
	new OptimizeCssAssetsWebpackPlugin()
],
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街尾杂货店&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值