核心功能
在标准 HTML、CSS、JavaScript 之上提供声明式、组件化的编程范式:模板描述界面长什么样,状态一变框架自动更新 DOM。既能用一个 script 标签增强静态页面,也能撑起完整的单页应用或服务端渲染项目。
功能亮点
模板即 HTML 的超集
在普通 HTML 上加 {{ }} 插值和 @click 这类指令,不熟悉 JSX 也能直接上手写界面
状态改了界面自己变
ref 包裹的值被修改后,框架追踪到读取它的位置并只更新受影响的那部分 DOM
一个文件装下一个组件
SFC 把 script、template、style 三段收进同一个 .vue 文件,样式还能用 scoped 隔离
两种写法自由选择
Options API 更贴近面向对象的思维习惯,Composition API 便于把逻辑抽成可复用的组合函数
可以完全不用构建工具
一行 script 标签引入 CDN 版本,就能给已有的服务端渲染页面加上交互,代价是用不了 SFC
适用场景
• 基于 Vite 搭建单页应用,用 create-vue 一次性配好路由、状态管理和测试
• 给已有的服务端渲染页面加交互:CDN 引入 Vue 后挂载到某个容器,不引入构建流程
• 需要 SSR / SSG 时改用 Nuxt 等上层框架,组件写法保持一致
安装配置
bash
创建项目(需要 Node.js ^22.18.0 || >=24.12.0)—— npm: npm create vue@latest pnpm: pnpm create vue@latest Yarn(v1+): yarn create vue Yarn Modern(v2+): yarn create vue@latest Yarn ^v4.11: yarn dlx create-vue@latest Bun: bun create vue@latest 创建后安装依赖并启动开发服务器: cd <your-project-name> npm install npm run dev 生产构建(产物在 ./dist): npm run build 不走构建、直接用 CDN: <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
使用方法
javascript
<!-- 单文件组件,Composition API + <script setup> 写法 -->
<script setup>
import { ref } from 'vue'
const count = ref(0)
</script>
<template>
<button @click="count++">Count is: {{ count }}</button>
</template>
<style scoped>
button {
font-weight: bold;
}
</style>
<!-- 无构建步骤时,用 CDN 全局构建版 -->
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{ message }}</div>
<script>
const { createApp, ref } = Vue
createApp({
setup() {
const message = ref('Hello vue!')
return { message }
}
}).mount('#app')
</script>关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
指标Vue
价格免费
开源是
上手难度入门
相关工具
同类工具
优点
- 模板建立在标准 HTML 之上,@click、{{ }} 这类语法对写过服务端模板的人几乎零门槛
- 响应式由框架自动追踪,改 ref 的值即可触发更新,不需要手动声明依赖或调用更新函数
- 单文件组件把逻辑、模板、scoped 样式收进一个 .vue 文件,样式默认不会泄漏到别的组件
- 采纳方式可大可小:从 CDN 增强静态页,到 SPA、SSR、SSG,核心知识一路通用
缺点
- Options API 与 Composition API 两套风格并存,团队需要先约定统一写法,否则代码库风格不一致
- SFC 语法依赖构建工具,选择 CDN 免构建路线时就用不了 .vue 文件写法
- Vue 2 已于 2023 年 12 月 31 日结束支持,仍在 Vue 2 上的老项目需要按迁移指南升级