赞
踩
1)浏览器的缓存策略:
访问网站时向服务器获取静态资源并缓存起来,如css、js等
下次再访问时,如果之前保存的 “静态资源” 名字没有改变,则不会重新请求
2)vite打包文件生成策略:
3)vite分包策略:
我们的业务代码时常改变,而依赖不会变化
所以把依赖分开打包,以避免多次重新请求资源
在vite的配置文件中添加 “build.rollupOptions.output.manualChunks” 配置项实现,如:
// vite.config.ts import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], build: { rollupOptions: { output: { manualChunks: { // 每个 '键' 都表示一个分包块,'值' 包含列出的模块及其所有依赖项 vue: ['vue', 'vue-router', 'pinia', 'axios'], editor: ['mavon-editor', '@kangc/v-md-editor'] }, }, }, }, })
详细可见文档:Rollup 选项文档
通过配置 vite 插件 “vite-plugin-compression” 实现:
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import viteCompression from "vite-plugin-compression"; // 配置 gzip 压缩
export default defineConfig({
plugins: [
vue(),
viteCompression()
],
})
1)cdn: content delivery network (内容分发网络)
2)我们项目的所有依赖以及文件在我们进行打包以后会放到我们的服务器上面去
// vite.config.ts import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import {Plugin as importToCDN} from 'vite-plugin-cdn-import' // 配置 cdn 加速 export default defineConfig({ plugins: [ vue(), importToCDN({ modules: [{ // 需要 CDN 加速的包名称 name: 'lodash', // 全局分配给模块的变量,Rollup 需要这个变量名称 var: 'lodash', // 指定 CDN 上的加载路径 path: `https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js`, },] }) ], })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。