当前位置: 首页 > news >正文

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

介绍

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

安装插件并引入

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

配置插件plugins

plugins:[newHtmlWebpackPlugin({template:'./src/index.html'}),newMiniCssExtractPlugin({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')constHtmlWebpackPlugin=require('html-webpack-plugin')constMiniCssExtractPlugin=require('mini-css-extract-plugin')//设置node.js环境变量,默认是生产环境,配置后为开发环境;process.env.NODE_ENV='development';

压缩css

一、安装插件并引用

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

二、在plugins中配置插件

plugins:[newHtmlWebpackPlugin({template:'./src/index.html'}),newMiniCssExtractPlugin({filename:'css/built.css'//对输出的文件进行重命名}),//压缩css文件newOptimizeCssAssetsWebpackPlugin()],
http://www.jsqmd.com/news/323313/

相关文章:

  • rustdesk自建服务器
  • 现代AI系统的六大完整技术体系概览
  • 提示管理平台架构设计:如何实现提示的自动化编排?
  • 动物粪便标本如何长期保存?中国科学院成都生物研究所研究团队提出一种可实现粪便形态、遗传信息及相关分析要素长期保存的标准化制备方法
  • shell实现根据输入的文字打印出大号字符艺术
  • Typescript - interface 关键字(通俗易懂的详细教程)
  • AI测试领域2025年度大事件盘点:标准确立、技术跃迁与市场领航
  • FoundIR: Unleashing Million-scale Training Data to Advance Foundation Models-ICCV2025
  • 魔法登录antigravity
  • Typescript - 类型守卫(typeof / in / instanceof / 自定义类型保护的类型谓词)通俗易懂详细教程
  • python_django基于微信小程序的移动医院挂号预约系统
  • 接口(集成)平台设计(一)-服务,接口,数据集和数据源
  • python_django基于微信小程序的竞赛报名系统_13348
  • 权威测评|微信小程序公司 TOP 名单,教你锁定适配服务商
  • python_django基于微信小程序的自习室座位预约付费打卡系统
  • 小程序 SaaS 制作平台超全攻略,找对适配伙伴赋能创业
  • python_django基于微信小程序的服装商城销售管理平台
  • 严选国内优质微信小程序开发公司:适配各类生意场景
  • python_django基于微信小程序的校园店铺商城电子商务系统
  • 一文吃透 Spring 生态核心:IoC/DI 原理、Bean 管理与实战指南
  • python_django基于微信小程序的班级学生作业管理助手
  • 单调队列优化dp
  • python_django个性化推荐小学生古诗词情景化学习小程序
  • 本地餐饮外卖专属:小程序开发公司甄选,生意高效跑通技巧
  • Windows CMD文件编辑器:从内置工具到第三方方案
  • 2026程序员转行AI大模型全攻略:后端开发轻松转型大模型应用开发,零基础突围路线图!非常详细建议收藏!
  • 从传统BI到大数据多维分析的迁移路径
  • Vite代理配置中changeOrigin: true的作用详解(转发请求时的Host头,解决后端对Host头的校验)Origin头、403/400错误、Invalid Host header
  • 2026最新小程序开发平台TOP实战测评:适配不同场景的选型方案
  • agent skills好像是把原本mcp的方法改成cli方法放在skill里