导航
来源:https://xiaoman.blog.csdn.net/article/details/126811832
我们可以使用谷歌浏览器自带的 DevTools 进行性能分析 LightHouse


从 Performance 页的表现结果来看,得分37分,并提供了很多的时间信息,我们来解释下这些选项代表的意思:
由于我们使用的是 vite, vite 打包是基于 rollup 的我们可以使用 rollup 的插件
npm install rollup-plugin-visualizer
vite.config.ts 配置 记得设置 open 不然无效
import { visualizer } from 'rollup-plugin-visualizer';
plugins: [vue(), vueJsx(),visualizer({
open:true
})],
然后进行 npm run build 打包

我在项目中使用了 Ant Design 发现 这个UI 库非常庞大 这时候 就可以使用 Ant Design 的按需引入减少 包大小
build:{
chunkSizeWarningLimit:2000,
cssCodeSplit:true, //css 拆分
sourcemap:false, //不生成sourcemap
minify:false, //是否禁用最小化混淆,esbuild打包速度最快,terser打包体积最小。
assetsInlineLimit:5000 //小于该值 图片将打包成Base64
},
npm install vite-plugin-pwa -D
import { VitePWA } from 'vite-plugin-pwa'
plugins: [vue(),VitePWA(), vueJsx(),visualizer({
open:true
})],
PWA 技术的出现就是让 web 网页无限接近于 Native 应用
VitePWA({
workbox:{
cacheId:"XIaoman",//缓存名称
runtimeCaching:[
{
urlPattern:/.*\\.js.*/, //缓存文件
handler:"StaleWhileRevalidate", //重新验证时失效
options:{
cacheName:"XiaoMan-js", //缓存js,名称
expiration:{
maxEntries:30, //缓存文件数量 LRU算法
maxAgeSeconds:30 * 24 * 60 * 60 //缓存有效期
}
}
}
]
},
})
进行 npm run build 打包会生成 sw.js


import lazyPlugin from 'vue3-lazy'
<img v-lazy="user.avatar" >

worker 脚本与主进程的脚本必须遵守同源限制。他们所在的路径协议、域名、端口号三者需要相同
const myWorker1 = new Worker("./calcBox.js");
都使用 postMessage 发送消息
worker.postMessage(arrayBuffer, [arrayBuffer]);
都使用 onmessage 接收消息
self.onmessage = function (e) {
// xxx这里是worker脚本的内容
};
关闭
worker.terminate();
VueUse 库已经集成了 webWorker

同样 VueUse 也是集成了
