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

合肥网站建设网新/如何利用互联网进行宣传推广

合肥网站建设网新,如何利用互联网进行宣传推广,衢州讪住房和城乡建设局网站,济南网站建设平台作者:京东科技 牛志伟 近期对Webpack5构建性能进行了优化,构建耗时从150s到60s再到10s,下面详细讲解下优化过程。 优化前现状 1.历史项目基于Vue3 Webpack5技术栈,其中webpack配置项由开发者自己维护(没有使用vue/…

作者:京东科技 牛志伟

近期对Webpack5构建性能进行了优化,构建耗时从150s到60s再到10s,下面详细讲解下优化过程。

优化前现状

1.历史项目基于Vue3 + Webpack5技术栈,其中webpack配置项由开发者自己维护(没有使用@vue/cli-service),并且做了环境分离。

2.项目体量大约5000个modules左右,每次本地构建build时耗时约150s左右。

优化细节

环境分离

之前已经设计了环境分离,但是一些优化细节没有处理好:

•基础配置文件:webpack.base.js,主要配置了基础的loader和plugin等

•本地开发配置文件:webpack.dev.js,主要配置了devServer和样式、图片资源loader等,并merge基础配置

•生产环境配置文件:webpack.prod.js,主要配置了样式、图片资源loader以及资源压缩和样式抽离等,并merge基础配置

优化点:

•热加载相关配置,从base移到dev配置中,生产环境中不需要热更新

new webpack.HotModuleReplacementPlugin()

•dev配置中devtool类型选择,inline-source-map修改为eval-cheap-module-source-map,map文件使用内联方式构建速度更快。

devtool: 'eval-cheap-module-source-map'

•filename调整:js/[name].[fullhash].js去掉hash,本地开发环境启用热更新,不需要hash(生产环境需要hash刷新缓存)

output: {filename: 'js/[name].js',path: path.resolve(__dirname, '../dist'),publicPath: '/',
}

持久化缓存

base配置中开启持久化缓存(Webpack5新特性),首次构建耗时增加15%左右,但是二次构建耗时减少90%左右

cache: {type: 'filesystem'
}

Loader相关优化

•尽量减少loader,比如使用Asset modules(Webpack5新特性)替换url-loader、file-loader、raw-loader

// 字体和小于8kb的图片
{test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,type: 'asset',parser: {dataUrlCondition: {maxSize: 8 * 1024,},}
}
// 图片资源
{test: /\.(png|svg|jpg|gif|cur)$/,type: 'asset/resource',exclude: [path.resolve(__dirname, '../../../assets/svg')],
}

•thread-loader耗时任务开启多线程

{test: /\.vue$/,use: ['thread-loader', 'vue-loader'],
},
{test: /\.(t|j)s$/,exclude: /node_modules/,use: ['thread-loader', 'babel-loader'],
},
{test: /\.(sa|sc|c)ss$/,use: ['thread-loader', 'style-loader', 'css-loader', 'sass-loader'
},

•esbuild-loader替换babel-loader(由于改动较大,没有尝试)

Plugin相关优化

•使用speed-measure-webpack-plugin分析各个plugin、loader编译时间

•尽量减少plugin,比如HotModuleReplacementPlugin只在dev开启

•升级老旧plugin,比如terser-webpack-plugin版本从2升级到5,构建性能直接提升50%左右,具体原因有了解的同学可以打在评论区。

优化后效果

•不启用缓存情况下耗时从150s减少到60s以内

•优化后speed-measure-webpack-plugin编译速度分析

•启用持久化缓存情况下,二次构建减少到10s以内

Webpack5总结

以下是从基础、进阶、优化、插件使用以及打包原理几个方面做的Webpack5总结,有遗漏之处欢迎评论留言讨论

http://www.jmfq.cn/news/5269249.html

相关文章:

  • 分类网站建设方案/百度做网站推广电话
  • 国外展柜网站/接app推广的单子在哪接
  • 百度站长平台网页版/在百度上怎么打广告
  • 大型网站的标准/百度关键词竞价排名
  • 杭州市河道建设中心网站/最新新闻事件今天
  • 服装怎么做网站推广/百度竞价是什么意思
  • 口红做网站多少钱/军事网站大全军事网
  • asp.net 做g公司网站/百度app旧版本下载
  • 网站去掉后缀html/站长工具网站备案查询
  • 学校网站建设汇报ppt/手机网页设计
  • 网站分级怎么做/商品推广软文写作500字
  • 买高端品牌网站建设/百度的广告
  • 网络科技公司网站/怎么样引流加微信
  • jeecms做企业网站/滁州网站seo
  • 网页设计软件h/免费seo关键词优化服务
  • 上哪儿找做网站/百度如何注册公司网站
  • 手机版网站模板 免费下载/旺道seo推广有用吗
  • 移动端网站怎么做/厦门搜索引擎优化
  • 铜陵seo/上海关键词排名优化怎样
  • wordpress快速发文插件/微信小程序排名关键词优化
  • 独立网站怎么做seo/seo关键词首页排名
  • 网站怎么做精准引流/1688关键词怎么优化
  • 中国做外贸最好的网站/百度一下了你就知道官网
  • 自己搭建视频播放网站/东莞百度快速优化排名
  • wordpress 购物 插件下载/长沙seo免费诊断
  • 可登录的网站有哪些/怎么免费创建个人网站
  • 宁德营销型网站建设/品牌策划公司排名
  • 做网站单位/网站提交入口链接
  • 阿里巴巴国际站官网网页版/怎么做网络推广最有效
  • 江苏专业做网站的公司/qq推广链接生成