webpack前端代码优化插件

1,简化

:new webpack.optimize.OccurenceOrderPlugin();
因为webpack打包原理:模块 块id ,它会根据id的使用频率和分布来得出最短id,将最短id分配给频率高的模块。还有个插件叫:new webpack.optimize.UglifyJsPlugin(); 不知道这个是干嘛的,说是可以压缩js。。

2,去重:new webpack.optimize.DedupePlugin();

如果你的项目用到很多依赖库,库文件里一定有很多代码是重复的,webpack会对这些文件进行去重,保证不会有重复的代码,并且会封装成一个函数,请求是调用,不会影响语义。

3,chunks 优化:

new webpack.optimize.LimitChunkCountPlugin({maxChunks: 15}); //限制块的总数
new webpack.optimize.MinChunkSizePlugin({minChunkSize:10000}); //限制一块的最小容量
如果编码遇到很多分割点(ajax),这样就有很多细小的http请求,这样会占用http资源,通过以上两个插件可以合并管理这些模块。

4,单页: app拆分成很多chunk,chunk被路由加载,模块仅仅包含路由和一些库文件。这么做用户通过导航浏览效果很好,初始化页面还有两个请求,一个请求路由,一个加载当前内容。
5,多页:当编译一个多页面的app时,想着页面之间共享代码,只要和多个入口文件一起编译就好,

在插件中添加一个共用插件new CommonsChunkPlugin(“commons.chunk.js”); 入口文件中重复的js文件会统一放在这个commons.chunk.js里。
例如:
var CommonsChunkPlugin = require(“webpack/lib/optimize/CommonsChunkPlugin”);
module.exports = {
entry: {
p1:”./page1”,
p2:”./page2”,
p3:”./page3”,
ap1: “./admin/page1”,
ap2: “./admin/page2”,
}
output: {
filename:”[name].js”
}
plugins: [
new CommonsChunkPlugin(“admin-commons.js”,[“ap1”, “ap2”]),
new CommonsChunkPlugin(“commons.js”, [“p1”, “p2”, “admin-commons.js”])
]
};
可以初始化很多个块chunk,也可以堆叠块,

原文:http://webpack.github.io/docs/optimization.html#chunks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了优化前端性能,Webpack可以采取多种措施。首先,通过代码压缩、合并和缓存控制,可以减少文件大小并提高加载速度。例如,可以使用Webpack压缩插件(如UglifyJS)来压缩JavaScript代码,并使用提取公共代码的功能来减少重复代码的加载。这样可以减小文件体积并提升页面加载速度。 其次,Webpack还支持使用ES6或CoffeeScript等高级语言来编写源码,并将其构建成浏览器支持的ES5代码,从而提高开发效率和代码质量。这可以通过使用Babel等工具和Webpack的loader来实现。 此外,Webpack还支持CSS的压缩。可以使用插件(如css-minimizer-webpack-plugin)来去除无用的空格,减小CSS文件的大小。这样可以提高页面的加载速度。 最后,对于HTML文件,Webpack也可以进行压缩。可以使用插件(如html-minimizer-webpack-plugin)来去除HTML文件中的无用空格、注释等,从而减小文件大小。这样可以加快页面加载速度。 综上所述,通过使用Webpack的各种优化手段,可以有效地提升前端项目的性能,加快页面加载速度,提高用户体验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【前端知识之webpackwebpack如何优化前端性能](https://blog.csdn.net/weixin_44337386/article/details/125845074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [webpack学习教程之前端性能优化总结](https://download.csdn.net/download/weixin_38656364/14902051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值