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

重生之我在学Vue--第17天 Vue 3 项目优化与部署

重生之我在学Vue–第17天 Vue 3 项目优化与部署

文章目录

  • 重生之我在学Vue--第17天 Vue 3 项目优化与部署
    • 前言
    • 一、性能优化三板斧
      • 1.1 Vite 生产打包配置
      • 1.2 性能优化指标分析
      • 1.3 进阶优化技巧
    • 二、生产环境部署指南
      • 2.1 Vercel 部署(推荐)
      • 2.2 Netlify 部署
      • 2.3 部署前后对比
    • 三、实战:优化并部署任务管理系统
      • 3.1 今日任务清单
      • 3.2 常见问题解决方案

前言

经过前16天的学习,我们已经完成了任务管理系统的核心功能和插件开发。现在是时候让项目**“飞入寻常百姓家”**——通过性能优化和部署让项目真正服务于用户!今日重点:榨干最后一滴性能潜力,一键部署到生产环境!

Vue3 官方中文文档传送点: 生产部署 | Vue.js

记住:优化不是为了炫技,而是为了用户体验和商业价值!

Vue前端成仙之路:Vue 前端成仙之路_野生的程序媛的博客-CSDN博客

GO后端成神之路:Go 后端成神之路_野生的程序媛的博客-CSDN博客

一、性能优化三板斧

1.1 Vite 生产打包配置

vite.config.js 中开启全方位优化:

// vite.config.js
import { defineConfig } from 'vite'
import { visualizer } from 'rollup-plugin-visualizer'

export default defineConfig({
  build: {
    // 代码分割策略
    rollupOptions: {
      output: {
        manualChunks(id) {
          if (id.includes('node_modules')) {
            return 'vendor'
          }
        }
      }
    },
    // 禁用调试信息
    sourcemap: false,
    // 压缩配置
    minify: 'terser',
    terserOptions: {
      compress: {
        drop_console: true // 移除所有console
      }
    }
  },
  plugins: [
    // 可视化分析包体积
    visualizer({ 
      open: true,
      gzipSize: true
    })
  ]
})

1.2 性能优化指标分析

工具分析维度优化建议
Lighthouse加载性能/可访问性/SEO启用压缩、优化图片、预加载关键资源
Chrome DevTools网络请求瀑布流减少首屏请求数、启用HTTP2
Bundle Analyzer模块体积分布按需加载、移除无用依赖

实战命令

# 生成分析报告
npm run build -- --mode analyz

# 查看性能评分
npx lighthouse http://localhost:5173 --view

1.3 进阶优化技巧

// 动态加载第三方库(以lodash为例)
const debounce = await import('lodash/debounce').then(m => m.default)

// 图片压缩配置(需安装vite-plugin-imagemin)
import imagemin from 'vite-plugin-imagemin'
plugins: [
  imagemin({
    gifsicle: { optimizationLevel: 3 },
    mozjpeg: { quality: 75 },
    pngquant: { quality: [0.8, 0.9] }
  })
]

二、生产环境部署指南

2.1 Vercel 部署(推荐)

三步极速部署

  1. 安装命令行工具:
    npm install -g vercel
    
  2. 登录并部署:
    vercel login
    vercel --prod
    
  3. 配置环境变量:
    # 在Vercel控制台设置
    VITE_API_URL=https://your-api.com
    

2.2 Netlify 部署

通过Git仓库自动部署:

  1. 在Netlify控制台导入Git仓库
  2. 配置构建命令:
    Build command: npm run build
    Publish directory: dist
    
  3. 添加域名(支持自定义SSL证书)

2.3 部署前后对比

指标优化前优化后
首屏加载时间3.2s1.1s
打包体积1.8MB623KB
请求数3218

三、实战:优化并部署任务管理系统

3.1 今日任务清单

  1. 性能优化
    • [ ] 开启Gzip压缩(配置nginx或使用插件)
    • [ ] 添加缓存策略(Cache-Control头部)
    • [ ] 优化首屏加载(骨架屏/Suspense)

  2. 部署实施

    # 生产打包
    npm run build
    
    # 本地预览生产版本
    npm run preview
    
    # 部署到Vercel
    vercel --prod
    

3.2 常见问题解决方案

1. **白屏问题**:
   - 检查路由模式(history需要服务器配置fallback)
   - 使用`<base>`标签修正资源路径

2. **环境变量失效**:
   - Vite要求客户端变量必须以`VITE_`开头
   - 部署平台需要重新配置环境变量

3. **跨域问题**:
   - 开发环境配置proxy:
     ```javascript
     // vite.config.js
     server: {
       proxy: {
         '/api': 'http://localhost:3000'
       }
     }
  • 生产环境使用Nginx反向代理

### 3.3 扩展挑战
1. **CDN加速**:
   ```javascript
   // vite.config.js
   build: {
     assetsInlineLimit: 4096, // 4KB以下文件转base64
     rollupOptions: {
       output: {
         // 配置CDN路径
         assetFileNames: 'https://cdn.example.com/[name]-[hash][extname]'
       }
     }
   }
  1. 监控埋点
    // 使用Sentry监控错误
    import * as Sentry from '@sentry/vue'
    
    app.use(Sentry, {
      dsn: 'YOUR_DSN',
      integrations: [new Sentry.BrowserTracing()],
      tracesSampleRate: 0.8
    })
    

相关文章:

  • openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题
  • 鸿蒙路由 HMRouter 配置及使用 三 全局拦截器使用
  • AtCoder Beginner Contest 397 A - D题解
  • 举例说明 牛顿法 Hessian 矩阵
  • python实现简单的图片去水印工具
  • 表单引擎赋能AI:引领未来表单设计新趋势
  • 单片机外设快速入门篇(五)——GPIO篇
  • Houdini :《哪吒2》神话与科技碰撞的创新之旅
  • 【linux】虚拟机执行sudo yum isntall perl报错 could not retrieve mirrorlist htt:
  • 通向AGI的未来之路!首篇2D/视频/3D/4D统一生成框架全景综述(港科大中山等)
  • Elasticsearch使用记录
  • spring动态代理是在生命周期的哪个阶段实现的
  • 矩阵期望 E 的含义:概率
  • 蓝桥杯高频考点——进制转换
  • 【 利用socket来实现简单远控】
  • c++中字符串string常用的函数
  • AMBA-CHI协议详解(二十二)
  • Next-Slides 更新记录
  • AcWing 5960:输出前k大的数 ← 小根堆
  • centos 磁盘重新分割,将原来/home 下部分空间转移到 / 根目录下
  • 外交部:反对美方人士发表不负责任谬论
  • 《淮水竹亭》:一手好牌,为何打成这样
  • 汉斯·季默:不会指挥的声音工程师终成音乐“大神”
  • 西甲上海足球学院揭幕,用“足球方法论”试水中国青训
  • 中国天主教组织发贺电对新教皇当选表示祝贺
  • 深入贯彻中央八项规定精神学习教育中央第六指导组指导督导中国工商银行见面会召开