Webpack vs Vite:前端构建工具对比与迁移指南

全面对比 Webpack 和 Vite 两大前端构建工具,提供从 Webpack 迁移到 Vite 的指南。

Web 前端 2026-06-12 10 分钟

Webpack vs Vite:前端构建工具对比与迁移指南

Webpack 和 Vite 是最流行的前端构建工具。本文对比两者的特点。

核心差异

特性 Webpack Vite
开发服务器 Bundle-based ESM-based
冷启动 极快
热更新 中等 极快
生产打包 自带 使用 Rollup
配置复杂度

Vite 的优势

1. 极快的冷启动

Vite 使用 ES Module,不需要打包:

// 浏览器直接加载
import { createApp } from 'vue'

2. 极快的热更新

Webpack: 修改文件 → 重新打包 → 更新(2-10秒)
Vite: 修改文件 → 只更新修改的模块(<100ms)

3. 开箱即用

npm create vite@latest my-app -- --template vue

Webpack 的优势

1. 生态成熟

  • 丰富的 Loader 和 Plugin
  • 社区支持完善
  • 企业级方案成熟

2. 灵活配置

// webpack.config.js
module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  module: {
    rules: [
      { test: /\.vue$/, use: 'vue-loader' },
      { test: /\.css$/, use: ['style-loader', 'css-loader'] }
    ]
  }
}

迁移指南

1. 安装 Vite

npm install vite @vitejs/plugin-vue

2. 创建 vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  server: {
    port: 3000
  }
})

3. 修改 index.html

<!DOCTYPE html>
<html>
<head>
  <title>My App</title>
</head>
<body>
  <div id="app"></div>
  <script type="module" src="/src/main.js"></script>
</body>
</html>

4. 修改 package.json

{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  }
}

选择建议

选择 Vite

  • 新项目
  • Vue/React 项目
  • 追求开发体验
  • 中小型项目

选择 Webpack

  • 已有 Webpack 项目
  • 需要复杂配置
  • 大型企业项目
  • 特殊需求(微前端等)

总结

Vite 是前端构建工具的未来。新项目推荐使用 Vite,已有 Webpack 项目可以逐步迁移。

📚 相关文章