跳过正文
  1. 文章/

Vue 框架完全指南:渐进式前端框架的优雅之道

sun.ao
作者
sun.ao
我是 sun.ao,一名热爱技术的程序员,专注于 AI 和数智化领域。
目录

如果说 React 是"自由派",那么 Vue 就是"优雅派"。Vue 由华人开发者尤雨溪创建,凭借其简洁的 API 和出色的中文文档,成为国内最受欢迎的前端框架之一。

Vue 是什么?
#

Vue(发音同"view")是一款用于构建用户界面的渐进式 JavaScript 框架。2014 年由尤雨溪发布,核心理念是"渐进式"—— 你可以只用它的核心功能,也可以逐步引入更多高级特性。

类比理解
#

对比项ReactVue
学习方式需要了解一堆概念才能上手可以只学一点用一点
就像玩《我的世界》—— 从零开始搭建一切玩乐高—— 有现成的积木和说明书

Vue 的"渐进式"意味着:你可以从一个简单的页面开始,然后逐步引入路由、状态管理、构建工具,最终成为一个完整的大型应用。

核心特性
#

1. 渐进式架构:按需引入
#

Vue 不强迫你一次性学习所有东西。你可以:

  • 只用核心库:引入 Vue.js,构建简单页面
  • 引入路由:添加 Vue Router,处理页面跳转
  • 引入状态管理:添加 Pinia,管理全局状态
  • 引入构建工具:使用 Vite,获得更好的开发体验
<!-- 方式一:直接用 CDN,像 jQuery 一样简单 -->
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

<!-- 方式二:使用构建工具,专业开发 -->
npm create vue@latest

2. 响应式系统:数据驱动视图
#

Vue 的响应式系统是其最核心的特性。当你修改数据时,视图会自动更新。

const { createApp, ref } = Vue;

createApp({
  setup() {
    const message = ref('Hello Vue!');
    const changeMessage = () => {
      message.value = 'Hello World!';  // 修改数据,视图自动更新
    };
    return { message, changeMessage };
  }
}).mount('#app');

类比理解:

响应式就像 Excel 表格—— 当你修改一个单元格的值,所有引用这个单元格的公式都会自动重新计算。

3. 模板语法:直观易读
#

Vue 使用类似 HTML 的模板语法,让前端开发者感到非常亲切:

<div id="app">
  <!-- 文本插值 -->
  <h1>{{ message }}</h1>

  <!-- 绑定属性 -->
  <img :src="imageUrl" :alt="description">

  <!-- 绑定事件 -->
  <button @click="handleClick">点击</button>

  <!-- 条件渲染 -->
  <p v-if="show">显示这段文字</p>

  <!-- 列表渲染 -->
  <ul>
    <li v-for="item in items" :key="item.id">{{ item.name }}</li>
  </ul>
</div>
指令作用
{{ }}文本插值
v-bind::绑定属性
v-on:@绑定事件
v-if / v-else条件渲染
v-for列表渲染
v-model双向绑定

4. Composition API:组织逻辑的新方式
#

Vue 3 引入了 Composition API(组合式 API),让你可以更灵活地组织组件逻辑:

import { ref, computed, onMounted } from 'vue';

export default {
  setup() {
    // 响应式状态
    const count = ref(0);
    const doubled = computed(() => count.value * 2);

    // 方法
    const increment = () => count.value++;

    // 生命周期钩子
    onMounted(() => {
      console.log('组件挂载完成');
    });

    return { count, doubled, increment };
  }
};

对比 Options API:

// Options API(Vue 2 风格)
export default {
  data() { return { count: 0 } },
  methods: { increment() { this.count++ } }
}

// Composition API(Vue 3 风格)
export default {
  setup() {
    const count = ref(0);
    const increment = () => count.value++;
    return { count, increment };
  }
}

Composition API 的优势:

  • 逻辑复用:可以将相关代码组织在一起
  • 类型支持:更好地支持 TypeScript
  • 代码组织:大型组件更易维护

5. 单文件组件:.vue 文件
#

Vue 使用 .vue 文件格式,将模板、脚本和样式封装在一个文件中:

<template>
  <div class="greeting">
    <h1>{{ message }}</h1>
    <button @click="greet">打招呼</button>
  </div>
</template>

<script setup>
import { ref } from 'vue';

const message = ref('你好,Vue!');
const greet = () => alert(message.value);
</script>

<style scoped>
.greeting h1 {
  color: #42b883;
}
</style>

为什么 Vue 如此受欢迎?
#

1. 上手简单
#

Vue 的学习曲线比 React 平缓很多:

  • 不需要学习 JSX(虽然也可以用)
  • 模板语法直观,像写 HTML
  • 中文文档非常完善
  • API 设计简洁一致

2. 中文社区活跃
#

Vue 在国内拥有庞大的用户群体:

  • 官方中文文档质量极高
  • 社区教程丰富
  • Element Plus、Vuetify 等成熟 UI 库
  • 很多国内大厂(阿里、滴滴、字节)都在使用

3. 性能优秀
#

Vue 3 使用 Proxy 重写了响应式系统,性能比 Vue 2 提升显著:

场景Vue 2Vue 3
内存占用较高减少约 50%
初始渲染-提升约 55%
更新性能-提升约 133%

4. 渐进式带来的灵活性
#

你可以根据项目需求选择使用 Vue 的程度:

  • 小项目:直接用 CDN 引入
  • 中型项目:引入 Vue Router
  • 大型项目:引入 Pinia + Vue Router + TypeScript

适用场景
#

场景适合程度说明
快速原型开发⭐⭐⭐⭐⭐上手简单,CDN 即可用
中小型 Web 应用⭐⭐⭐⭐⭐完整生态支持
企业后台系统⭐⭐⭐⭐⭐Element Plus 加持
移动端 H5⭐⭐⭐⭐Vant 组件库
大型复杂应用⭐⭐⭐⭐Vue 3 + Pinia + TypeScript

学习路线建议
#

入门阶段(1 周)
#

  1. 理解 Vue 的响应式系统
  2. 掌握模板语法(插值、指令、事件)
  3. 学会使用 refreactive
  4. 理解组件的基本用法

进阶阶段(2-3 周)
#

  1. 掌握 Composition API
  2. 学习 Vue Router
  3. 学习 Pinia 状态管理
  4. 理解组件通信(props、emit、provide/inject)

高级阶段(持续学习)
#

  1. TypeScript + Vue
  2. Vue 3 底层原理
  3. 性能优化技巧
  4. SSR(Nuxt.js)

Vue 3 组合式 API 常用函数
#

函数作用
ref创建响应式基本类型
reactive创建响应式对象
computed创建计算属性
watch监听数据变化
onMounted组件挂载后执行
provide/inject跨层级传递数据

与 React 对比
#

特性Vue 3React
响应式自动代理(Proxy)需要手动设置状态
模板HTML 模板(可选 JSX)JSX(强制)
CSSScoped CSSCSS-in-JS / Modules
状态管理Pinia(官方推荐)Redux(社区主导)
上手难度⭐⭐⭐⭐⭐
灵活性⭐⭐⭐⭐⭐⭐⭐⭐

简单来说:

  • Vue:约定优先,上手快,中文友好
  • React:灵活自由,生态最大,但学习曲线稍陡

总结
#

Vue 以其"渐进式"的哲学,让不同阶段的开发者都能找到适合自己的使用方式:

  1. 简洁的 API—— 让代码易读易写
  2. 响应式系统—— 数据驱动视图,告别手动 DOM 操作
  3. 渐进式架构—— 从简单页面到复杂应用,都能hold住
  4. 中文社区—— 文档完善,问题容易找到答案

无论你是前端新人想入门,还是老兵想换个框架试试,Vue 都是一个非常棒的选择。


下期预告:当 React 遇上服务端渲染,会碰撞出怎样的火花?Next.js 将 React 从前端扩展到全栈,下一篇我们来详细介绍这个"React 全栈框架"。

相关文章