前端工程化:Vite与Rollup构建优化

前端工程化:Vite与Rollup构建优化

大家好,我是欧阳瑞(Rich Own)。今天想和大家聊聊前端工程化这个重要话题。作为一个全栈开发者,构建工具是日常开发中不可或缺的一部分。今天就来分享一下Vite和Rollup的构建优化技巧。

为什么需要构建优化?

问题 说明
构建速度慢 影响开发效率
包体积大 影响加载速度
资源重复 增加不必要的网络请求
缓存失效 导致用户重复下载

Vite入门

配置Vite

javascript 复制代码
// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
  build: {
    outDir: 'dist',
    sourcemap: false,
    minify: 'terser'
  }
});

优化配置

javascript 复制代码
export default defineConfig({
  plugins: [react()],
  build: {
    rollupOptions: {
      output: {
        manualChunks: {
          vendor: ['react', 'react-dom'],
          lodash: ['lodash']
        }
      }
    },
    chunkSizeWarningLimit: 500
  }
});

Rollup进阶

代码分割

javascript 复制代码
// rollup.config.js
import { terser } from 'rollup-plugin-terser';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';

export default {
  input: 'src/index.js',
  output: {
    dir: 'dist',
    format: 'es',
    sourcemap: false
  },
  plugins: [resolve(), commonjs(), terser()],
  external: ['react', 'react-dom']
};

树摇优化

javascript 复制代码
// package.json
{
  "sideEffects": false
}

实战案例

构建分析

bash 复制代码
npm install rollup-plugin-visualizer --save-dev
javascript 复制代码
// vite.config.js
import { visualizer } from 'rollup-plugin-visualizer';

export default defineConfig({
  plugins: [react(), visualizer()]
});

路径别名

javascript 复制代码
// vite.config.js
import path from 'path';

export default defineConfig({
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src')
    }
  }
});

最佳实践

1. 按需加载

javascript 复制代码
const HeavyComponent = lazy(() => import('./HeavyComponent'));

function App() {
  return (
    <Suspense fallback={<Loading />}>
      <HeavyComponent />
    </Suspense>
  );
}

2. 图片优化

javascript 复制代码
// vite.config.js
import viteImagemin from 'vite-plugin-imagemin';

export default defineConfig({
  plugins: [viteImagemin()]
});

3. 环境变量

javascript 复制代码
// .env
VITE_APP_API_URL=https://api.example.com
javascript 复制代码
// src/api.js
const apiUrl = import.meta.env.VITE_APP_API_URL;

总结

前端工程化是提高开发效率和应用性能的关键。通过合理配置Vite和Rollup,可以显著优化构建流程和产物质量。

我的鬃狮蜥Hash对构建优化也有自己的理解------它总是用最有效的方式捕捉蟋蟀,这也许就是自然界的"构建优化"吧!

如果你对前端工程化有任何问题,欢迎留言交流!我是欧阳瑞,极客之路,永无止境!


技术栈:Vite · Rollup · 前端工程化

相关推荐
EatFan17 小时前
React 项目踩坑实录:useEffect 闭包陷阱、Context 性能陷阱与 React 18 升级避坑排查手册
前端·javascript·react.js·react·react hooks·useeffect·闭包陷阱
磐链科技1 天前
IM社交钱包开发成本是多少?影响项目报价、功能配置与开发周期的关键因素分析
区块链·智能合约
IvorySQL1 天前
PostgreSQL 日报| PostgreSQL JDBC 安全更新(10 月 10 日)
数据库·postgresql·区块链
新新学长搞科研2 天前
【会议征稿】第三届数字经济与计算机科学国际学术会议(DECS 2026)
区块链·计算机科学·数字经济
梦帮科技2 天前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
kjmkq2 天前
区块链项目出海宣发,依托全球Web3垂直媒体快速建立行业背书
web3·区块链·媒体
梦帮科技3 天前
【3.0修订版】跨链中继与事件编排:Relayer 监听、多签验证与故障自愈
web安全·金融·区块链·密码学·智能合约·安全架构·信任链