您的位置:首页 > 教育 > 培训 > 公司官网建设_网络营销流程_线下实体店如何推广引流_关键词制作软件

公司官网建设_网络营销流程_线下实体店如何推广引流_关键词制作软件

2025/5/7 20:57:59 来源:https://blog.csdn.net/weixin_44846945/article/details/147276304  浏览:    关键词:公司官网建设_网络营销流程_线下实体店如何推广引流_关键词制作软件
公司官网建设_网络营销流程_线下实体店如何推广引流_关键词制作软件

文章目录

    • 前言
    • 分析问题
    • 寻找切入点
    • 根据切入点逐一尝试
    • cdn引入node包遇到的一些问题记录
    • 最终结果

前言

优化,所有开发者到一定的程度上,都绕不开的问题之一

例如:

  • 首页加载优化
  • 白屏优化
  • 列表无限加载滚动优化,图片加载优化
  • 逻辑耦合,复杂度优化,如何降低复杂度
  • 打包优化

以上这些,只是简单举例,类似的优化其实还有很多,诸如此类的优化,如果细细拆分开来,其实感觉不会带来多大效果,但是组合起来,还是能让人大吃一惊
以下是我分享一次打包优化的过程

分析问题

● 什么是打包?打包通常分为那几步?
○ 两步:transform-代码转化or编译(提高转化速度)、chunk-代码分割(减少chunk生成)
○ transform:compiler-sfc rollup
○ chunk:减少

● 区分开发环境和生产环境
○ 比如 sourcemap
○ 生产环境不需要的 plugin

● 是否支持多线程打包?(很大)

● 是否能够缓存打包产物?(很大)

寻找切入点

● 移除生产环境不需要的 plugin 和 配置
○ plugin:不同的钩子 vite-plugin-html
○ sourcemap: 移除

● 提升 tranform (切入点小, @vitejs/plugin-vue @vue/compiler-sfc )

● 减少 chunk 生成(文件创建写入需要大量时间)

● 多线程?

● 增量打包?

根据切入点逐一尝试

  1. 移除生产环境不需要的 plugin 和 配置优化前: 227s
    在这里插入图片描述
    ● 移除 auto-import 自动生成 ts 类型
    在这里插入图片描述
    ● 移除 visualizer 打包分析插件
    在这里插入图片描述
    ● 移除打包进度插件
    在这里插入图片描述
    在这里插入图片描述
    ● 移除开发服务器(虽然没啥用,但影响美观)
    在这里插入图片描述
    ● 关闭 sourcemap
    在这里插入图片描述
    以上去掉后,再次打包,优化后: 101s
    在这里插入图片描述
  2. 提升 transform 的转化速度优化前: 101s

使用 compiler-sfc 编译单文件 vue,js 部分走的 rollup
侧面切入(第三方包 cdn,减少了 transform 代码块,亦能减少 chunk 生成)
减少 chunk 生成
这里其实计划的还是通过cdn引入第三方包,来减少chunk 生成

● 三方包走 cdn(走 cdn 需要注意点,国外 cdn 大部分时间被墙,国内 cdn 也存在请求失败问题)

在这里插入图片描述优化后: 63s,但这里是存在一些坑的

cdn引入node包遇到的一些问题记录

  1. cdn 不稳定性(非内部资源)

解决方案:cdn 资源内部化
优点:意思就是我们将对应的node包版本下载下来,放在自己服务器上,然后使用自己的cdn加速访问,这样就能保证稳定性
缺点:这样也存在一些缺陷问题,就是很有可能本地好的,放到远程上就有问题了,因为包的版本不一样,除此之外如果后续想要更新包版本,需要更新远程上之前下载的node包

  1. vue 和 pinia 同时引入

这里会引发一些错误
对应issue:cdn错误问题地址
原因:pinia 依赖 vue-demi 而 vue-demi 又需要 vue,其实就是相互依赖,其实也很好解决,就是加载顺序问题
解决方案:在 pinia 之前 vue 之后引入 vue-demi

在这里插入图片描述
在这里插入图片描述
3. 顺便手动分包下,目的是将node里面的和业务逻辑的区分开来

在这里插入图片描述优化后:63s => 56s

最终结果

多线程?

  • 不支持

增量打包,打包缓存?

  • 不支持

所以最终效果大概就是从227s -> 56s

声明:由于每个设备性能不一样,其实打包效率是有差距,以上打包耗费时间仅在个人设备上的结果,以上内容仅是个人记录仅供参考,希望对各位有所帮助。。。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com