人人都会AI编程

2.1 主流项目搭建方案

更新时间:2026-07-11

Vue 项目有多种创建方式,从“一行命令生成完整工程”到“一个 script 标签直接开写”,覆盖了从轻量试验到企业级应用的所有场景。以下是当前主流的三种方案及其适用场景。

方案一:Vite 创建 Vue 3 项目(当前主流方案)

Vite 是 Vue 官方推荐的下一代前端构建工具,它利用浏览器原生 ES Module 支持实现极速冷启动和热更新。创建项目只需一行命令:

# npm
npm create vue@latest
# pnpm
pnpm create vue@latest
# yarn
yarn create vue

执行后会进入交互式配置,让你选择是否需要 TypeScript、JSX、Vue Router、Pinia、Vitest 等特性。它会自动生成一个开箱即用的项目目录,包含以下核心文件:

my-project/
├── index.html          # 入口 HTML,Vite 从这里开始
├── package.json
├── vite.config.js      # Vite 配置文件
├── src/
│   ├── main.js         # 应用入口,创建并挂载 Vue 实例
│   ├── App.vue         # 根组件
│   └── components/     # 组件目录

为什么 Vite 是主流:

  • 极快的开发体验:冷启动几乎瞬间完成,热更新(HMR)在几十毫秒内生效,改完代码切回浏览器就已经更新好了。
  • 原生 ESM 开发:开发阶段直接使用浏览器支持的 ES Module,不用打包,调试时错误定位更精确。
  • 生产构建基于 Rollup:输出的生产包高度优化,Tree Shaking 彻底。
  • Vue 官方深度集成:对 .vue 文件、模板编译、HMR 都有最优支持。

适用场景:所有新建的 Vue 3 项目,无论是小型 Demo 还是大型企业级应用,都应首选 Vite。它是当前生态的标准答案。

方案二:Vue CLI 脚手架

Vue CLI 是 Vue 2 时代的标准工具,基于 Webpack 构建。目前仍广泛存在于存量项目和老项目中。安装与创建方式:

npm install -g @vue/cli
vue create my-project

它会提供一套预设选项(Babel、ESLint、CSS 预处理器等),生成的目录结构与 Vite 版本类似,但配置集中在 vue.config.js 中,构建引擎是 Webpack。

Vue CLI 的当前定位:

  • 对于 Vue 2 项目,Vue CLI 仍然是标配工具。
  • 如果你所在的团队对 Webpack 有深度定制需求(如复杂的 loader 链),且不追求 Vite 的开发速度,Vue CLI 也可用来创建 Vue 3 项目。但官方已明确表示 Vite 是未来方向,新项目不再推荐使用 CLI。

适用场景:维护基于 Webpack 的遗留项目;或团队暂未迁移至 Vite 但需要用 Vue 3 的过渡阶段。对于新启动的项目,直接上 Vite 更省心。

方案三:浏览器直接引入 CDN(轻量用法)

如果项目仅需要一个简单的动态交互区域(例如在已有的后端渲染页面中嵌入一个带反馈的表单),无需完整工程化体系,可以直接在 HTML 中通过 CDN 引入 Vue:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Vue CDN 示例</title>
</head>
<body>
  <div id="app">
    <p>{{ message }}</p>
    <button @click="reverseMessage">翻转消息</button>
  </div>

  <!-- 引入 Vue 3 全局构建版本 -->
  <script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
  <script>
    const { createApp, ref } = Vue

    createApp({
      setup() {
        const message = ref('Hello Vue 3!')
        function reverseMessage() {
          message.value = message.value.split('').reverse().join('')
        }
        return { message, reverseMessage }
      }
    }).mount('#app')
  </script>
</body>
</html>

这个方案的特点:

  • 零构建步骤:不需要安装 Node.js,不需要配置任何工具链,一个浏览器就能跑。
  • 渐进式引入:可以在不改变原有项目技术栈的前提下,只让某个 div 享受 Vue 的响应式能力。
  • 体积可控vue.global.prod.js 的 CDN 版本经过压缩,约 40KB(gzip 后约 15KB),对页面性能影响很小。
  • 功能完整:依然可以使用模板语法、指令、组件、生命周期等 Vue 全部核心特性,只是缺少单文件组件(.vue)、路由、状态管理等需要构建工具支持的能力。

适用场景:快速原型验证、静态站点局部动态增强、教学演示、不想引入构建工具的老项目渐进式改造。当你需要组件化、模块化时,再平滑升级到 Vite 方案。

如何选择

  • 新项目、需要工程化:直接 Vite。
  • 维护老项目,而且是 Vue 2:继续用 Vue CLI,直到下次重构。
  • 只是一个页面小功能,或者想最快试一下 Vue:CDN 引入,5 分钟搞定。