Vue 环境搭建
学 Vue 不需要装一堆东西。最简单的体验方式只需一个 HTML 文件和一个浏览器。但要做正经项目,还是得用 Vite 构建工具。本章介绍两种方式,你按需选择。
方式一:CDN 直接引入(适合学习、小工具)
如果只是想快速体验 Vue,或者做一个单页小工具,直接通过 <script> 标签引入 Vue 即可,不需要 Node.js、不需要 npm。新建一个 index.html 文件,内容如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>Vue CDN 体验</title>
<!-- 方式一:从 CDN 引入 Vue 3 的全局构建版 -->
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<div id="app">{{ message }}</div>
<script>
const { createApp } = Vue;
createApp({
data() {
return { message: "Hello, Vue!" };
},
}).mount("#app");
</script>
</body>
</html>双击在浏览器打开,就能看到页面上显示 "Hello, Vue!"。这种写法用的是 Vue 的全局构建版(vue.global.js),把 Vue 挂到全局 window.Vue 上,通过解构拿到 createApp。
ESM 写法(更现代)
现代浏览器原生支持 ES 模块,你也可以直接 import:
<!-- 浏览器原生支持 <script type="module">,可直接 import ES 模块 -->
<script type="module">
// 方式二:用 ESM 版本,适合不想配构建工具的轻量场景
import { createApp, ref } from "https://unpkg.com/vue@3/dist/vue.esm-browser.js";
createApp({
setup() {
const count = ref(0);
return { count };
},
}).mount("#app");
</script>这种写法的好处是不污染全局,且能用上浏览器的模块缓存。但不能写 .vue 文件——浏览器看不懂 SFC,需要构建工具编译。所以 CDN 方式只适合不写组件的简单页面。
CDN 引入适合:学习教程时跟着敲、做个计算器/小工具、给老项目局部加交互。但只要你想把页面拆成多个组件复用,就得用下面的 Vite。
方式二:Vite 脚手架(推荐,适合正式项目)
Vue 官方推荐的脚手架是基于 Vite 的 create-vue。Vite 是尤雨溪本人写的构建工具,利用浏览器原生 ESM 实现了秒级冷启动和闪电般的热更新,远快于老的 Vue CLI(已停止维护,新项目不要再用)。
前置条件:装好 Node.js 18+(去 nodejs.org 下载 LTS 版,自带 npm)。然后在终端执行:
# 推荐方式:用 Vite 创建 Vue 项目(官方脚手架)
npm create vue@latest
# 交互式问答(可选 TypeScript / Router / Pinia / ESLint 等):
# ? Project name: » my-vue-app
# ? Add TypeScript? » Yes / No
# ? Add JSX Support? » No
# ? Add Vue Router? » Yes
# ? Add Pinia? » Yes
# ? Add Vitest for Unit Testing? » No
# ? Add ESLint for code quality? » Yes
cd my-vue-app
npm install # 安装依赖
npm run dev # 启动开发服务器(默认 http://localhost:5173)执行 npm run dev 后,终端会显示一个本地地址(默认 http://localhost:5173),浏览器打开就能看到欢迎页。试着改一下 src/App.vue 里的内容保存——页面不刷新就实时更新,这就是 Vite 的"热模块替换(HMR)"。
项目目录结构
生成出来的项目结构长这样(src 是你的主战场,其他目录大多自动管理):
my-vue-app/
├── node_modules/ # 依赖包(npm install 后生成)
├── public/ # 静态资源(不参与构建)
│ └── favicon.ico
├── src/ # 源代码(主要工作目录)
│ ├── assets/ # 会被构建处理的资源
│ ├── components/ # 可复用组件
│ │ └── HelloWorld.vue
│ ├── views/ # 页面级组件
│ ├── router/ # 路由配置
│ │ └── index.js
│ ├── stores/ # Pinia 状态
│ ├── App.vue # 根组件
│ └── main.js # 应用入口
├── index.html # HTML 模板
├── package.json # 项目依赖与脚本
└── vite.config.js # Vite 配置几个关键文件:
src/main.js:应用入口,负责创建 Vue 实例并挂载到#app。src/App.vue:根组件,所有页面都被渲染到这里的<router-view>中。src/router/index.js:Vue Router 配置(URL 与页面组件的对应表)。src/components/:放可复用的小组件(按钮、卡片)。src/views/:放页面级大组件(首页、关于页、用户页)。vite.config.js:Vite 配置文件,改代理、别名、构建选项都在这里。
入口文件详解
打开 src/main.js,内容大致如下(选装了 Router 和 Pinia 的话):
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import { createPinia } from "pinia";
// 1. 创建应用实例
const app = createApp(App);
// 2. 安装插件(顺序不影响)
app.use(createPinia()); // 状态管理
app.use(router); // 路由
// 3. 挂载到 #app 节点
app.mount("#app");这是 Vue 应用的"启动流程":创建应用实例 → 安装各种插件 → 挂载到 DOM。Vue 的插件机制让 Router、Pinia、UI 库都能通过 app.use() 接入,非常统一。
开发工具推荐
VS Code 几乎是 Vue 开发的事实标准。装好下面两个扩展,体验会有质的提升:
# VS Code 必装的两个扩展:
# 1. Vue - Official(原 Volar) —— Vue 3 语言支持、语法高亮、类型检查
# 2. ESLint —— 代码规范检查
# 推荐的 VS Code 配置(.vscode/settings.json):
{
"editor.formatOnSave": true,
"[vue]": {
"editor.defaultFormatter": "Vue.volar"
}
}另外强烈建议装浏览器扩展 Vue DevTools(Chrome/Firefox/Edge 都有)。它能让你实时看到组件树、当前状态、路由信息、触发的事件——调试效率翻倍,几乎是 Vue 开发者的"第二双眼睛"。
CDN 还是 Vite?怎么选
- 跟教程边看边敲:CDN 即可,改个变量立刻能看到效果,无需切终端。
- 做个单文件小工具:CDN + 一个 HTML 文件就够。
- 多个组件、用 Router/Pinia:必须用 Vite,否则浏览器无法编译 .vue 文件。
- 多人协作、上线部署:Vite + TypeScript + ESLint + Git,标准流程。
本系列后续代码示例都假设你在 Vite 项目里写,但示例本身是单文件组件,放到 CDN 项目里也能跑(只需把 import 改成全局变量解构)。
小结
这一章你学会了两种装环境的方法:CDN 引入适合学习,Vite 脚手架适合做项目。还了解了项目目录结构和入口文件的职责。下一篇我们正式进入 Vue 的核心——模板语法,看看双花括号和那些 v- 开头的指令都是干嘛的。
← 上一篇 Vue.js 简介
下一篇 Vue 模板语法 →