vite 项目打包优化-基础篇

相较于【vue-cli或webpack】,vite内置了常用配置,无需开发者重写,更多精细优化需自行配置

1、项目打包完运行空白

引用资源路径问题,打包完的【index.html】文件引用其他文件的引用地址不对

参考配置:https://cn.vitejs.dev/config/shared-options.html#base

修改vite.config.js

js 复制代码
export default defineConfig({
  base: './'
})
2、路由模式

路由分为 hashhistory

  • hash:地址携带 # ,正常打包可访问,前端测试开发阶段使用

  • history:地址栏会改变,可以使用浏览器的【返回】按钮,需要服务器端的支持,需要【后端或运维】做相关配置,做一下路径重定向问题

3、安装可视化插件
复制代码
npm install rollup-plugin-visualizer
4、路由懒加载
js 复制代码
export const Routes = [
    {
        path: '/xxx',
        component: Xxxx,
        children: [
            {
                // 懒加载写法
            	component: () => import('@/xxx/xxx')
            }
        ]
    },
    ...
]
5、压缩文件gzip

需要后端服务支持

复制代码
npm install vite-plugin-compression
js 复制代码
import viteCompression from 'vite-plugin-compression'
import { visualizer } from 'rollup-plugin-visualizer'

// 方式一
export default defineConfig({
    plugins: [
        // 可视化
        visualizer({ open: true }),
        // 打包大文件成gzip
        viteCompression({
            verbose: true, //控制台显示结果
            disable: false, //开启还是禁用
            threshold: 1024, //体积限制
            algorithm: 'gzip', //压缩算法
            etx: '.gz' //文件后缀名
        }),
        
    ]
})

// 方式二
export default defineConfig(({ command, mode }) => {
    return {
        plugins: [
        	viteCompression()
        	...
        ]
    }
})

参考视频地址:https://www.bilibili.com/video/BV1wt421p7yM?p=12

相关推荐
曲幽2 天前
写页面时别再把 Element Plus 整个搬进来啦!Vue3按需加载的坑我帮你踩平了
vue3·web·vite·icon·element plus·vs code·import·unplugin
Linsk5 天前
一个案例教你彻底搞明白`AbortController` 、`AbortSignal`
vite·前端工程化
ZengLiangYi5 天前
Tailwind CSS v4 + Vite:现代前端样式方案
前端·css·vite
发现一只大呆瓜5 天前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
发现一只大呆瓜6 天前
Vite 兼容降级全解:语法降级、Polyfill 原理与 legacy 插件底层机制
前端·面试·vite
发现一只大呆瓜6 天前
Vite 开发预构建机制详解,搞懂 esbuild 与 Rollup 分工差异
前端·面试·vite
__zRainy__8 天前
uni-app 全局容器实战系列(一):全局容器的实现
uni-app·vite
发现一只大呆瓜8 天前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Hello--_--World9 天前
利用CDN进行首屏优化。能不能看CDN与本地服务器谁快用谁?
运维·服务器·前端·javascript·vite
Hello--_--World9 天前
为什么 用vite进行分包后,可以通过 浏览器强制缓存 提高性能?路由懒加载进行的分包与 vite进行的分包有什么不同?
前端·javascript·缓存·vite