Webpack 代码压缩 js、CSS、HTML压缩
webpack代码压缩
- js压缩
- css压缩
- html压缩
js压缩
webpack4内置了uglifyjs-webpack-plugin,在生产模式默认开启这个插件
所以我们默认打包的js文件以及是压缩过的
当然我们也可以手动安装一下这个插件并且手动设置一个参数
去做一些并行压缩之类的事情
css文件压缩
使用optimize-css-assets-webpack-plugin
同时使用css预处理器-- cssnano
npm i optimize-css-assets-webpack-plugin@5.0.1 -D
npm i cssnano@4.1.10 -D
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin')
module.exports={
plugins:[
new OptimizeCssAssetsPlugin({
assetNameRegExp:/\.css$/g,
cssProcessor:require('cssnano')
})
]
}
html文件的压缩
html-webpack-plugin,使用webpakc一定会接触的一个很强大的插件
压缩html时只需要设置相应参数就可以了
通常来说一个html页面对应一个html-webpack-plugin,两个的话需要两个当然后面有更好的方法
后面会将多页面打包具体要怎么做
npm i html-webpack-plugin@3.2.0 -D
module.exports = {
entry:{
app:'./src/app.js',
search:'./src/search.js',
},
output:{
path:path.join(__dirname,'dist'),
filename:'[name]-[chunkhash:8].js'
},
plugins:[
new HtmlWebpackPlugin({
// html模板所在路径
template:path.join(__dirname,'src/search.html'),
// 指定打包出来的输出的文件名称
filename:'search.html',
// 生成这个html使用哪些chunk
chunks:['search'],
// 为true的话,js、css会自动注入到这个html里面来
inject:true,
// minify 处理换行,空格,注释
minify:{
html5:true,
collapseWhiteSpace:true,
preserveLineBreaks:false,
minifyCss:true,
minifyJS:true,
removeCommnts:false
}
})
]
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2019-09-24 7 JavaScript函数调用&this关键字&全局对象&函数调用&闭包
2019-09-24 6 JavaScript函数&内置构造&函数提升&函数对象&箭头函数&函数参数&参数的值传递与对象传递
2019-09-24 5 JSON&与JavaScript转换&JavaScript:void(0)&JavaScript代码规范