Vue3

felix.shao2025-06-06

Vue3

1 概述

概述

 本小节主要是描述 Vue3 的知识内容。
 本小节主要描述内容如下,分类参考官方文档,对一些概要简单描述如下,详细可参考官方文档或一些教程。

  • 开始。
    • 一些概念。如单文件组件、响应式 API、组合式 API。
    • 快速上手。
    • 目录结构。
  • 基础。
    • 创建一个应用。应用实例、根组件、挂载应用、应用配置、多个应用实例。
    • 模板语法。
      • Attribute 绑定。简写、布尔型 Attribute、动态绑定多个值。
      • 使用 JavaScript 表达式。仅支持表达式、调用函数、受限的全局访问。
    • 响应式基础
      • 声明响应式状态
        • <script setup>
      • reactive()。Reactive Proxy vs. Original、reactive() 的局限性。
      • 额外的 ref 解包细节。作为 reactive 对象的属性、数组和集合的注意事项、在模板中解包的注意事项。
    • 计算属性。基础示例、计算属性缓存 vs 方法、可写计算属性、最佳实践。
    • 类与样式绑定。
      • 绑定 HTML class。绑定对象、绑定数组、在组件上使用,可以参考 透传 Attributesopen in new window
      • 绑定内联样式。绑定对象、绑定数组、自动前缀、样式多值。
    • 条件渲染。v-if、v-else、v-else-if、<template> 上的 v-if、v-show、v-if vs. v-show、v-if 和 v-for
    • 列表渲染。v-for、v-for 与对象、在 v-for 里使用范围值、<template> 上的 v-for、v-for 与 v-if、通过 key 管理状态、组件上使用 v-for、数组变化侦测、展示过滤或排序后的结果
    • 事件处理。监听事件@click、内联事件处理器、方法事件处理器、在内联处理器中调用方法、在内联事件处理器中访问事件参数、事件修饰符、按键修饰符、鼠标按键修饰符。
    • 表单输入绑定。
      • 基本用法。文本、多行文本、复选框、单选按钮、选择器。
      • 值绑定。复选框、单选按钮、选择器选项。
      • 修复符。.lazy、.number、.trim
      • 组件上的 v-model。
    • 生命周期。
    • 注册周期钩子、生命周期图示。
    • 侦听器。基本示例(侦听数据源类型)、深层侦听器、即时回调的侦听器、watchEffect()、回调的触发时机、停止侦听器。
    • 模板引用。访问模板引用、v-for 中的模板引用、函数模板引用、组件上的 ref。TODO 看得不是很懂,后续再研究下。
    • 组件基础。定义一个组件、使用组件、传递 props、监听事件、通过插槽来分配内容、动态组件、DOM 模板解析注意事项。
  • 深入组件。
    • 注册。
    • Props。
    • 事件。
    • 组件 v-model。
    • 透传 Attributes。
    • 插槽 Slots。插槽内容与出口、渲染作用域、默认内容、具名插槽、动态插槽名、作用域插槽。
    • 依赖注入。
    • 异步组件。
  • 逻辑复用。
    • 组合式函数。
    • 自定义指令。
    • 插件。
  • 内置组件。
    • Transition。
    • TransitionGroup。
    • KeepAlive。
    • Teleport。
    • Suspense。
  • 应用规模化。
    • 单文件组件。
    • 工具链。
    • 路由。
    • 状态管理。
    • 测试。
    • 服务端渲染 (SSR)。
  • 最佳实践。
    • 生产部署。
    • 性能优化。
    • 无障碍访问。
    • 安全。
单文件组件

 Vue 的单文件组件会将一个组件的逻辑 (JavaScript),模板 (HTML) 和样式 (CSS) 封装在同一个文件里,如下。

<script></script>
<template></template>
<style></style>

 单文件组件的创建、使用可参考 Vue3 创建单文件组件(SFC)open in new window

选项式、组合式 API

 官网上有关于这两个概念的描述,见 简介 API 风格open in new window
 以下是截取的一段内容,更多内容见官网资料。通过组合式 API,我们可以使用导入的 API 函数来描述组件逻辑。在单文件组件中,组合式 API 通常会与 <script setup> 搭配使用。这个 setup attribute 是一个标识,告诉 Vue 需要在编译时进行一些处理,让我们可以更简洁地使用组合式 API。比如,<script setup> 中的导入和顶层变量/函数都能够在模板中直接使用。

快速上手

 快速搭建 Vue 应用。

 create-vue 方式

 create-vue 是 Vue 官方的项目脚手架工具。以下是官网上快速启动的示例,它会安装并执行 create-vue。

TIP

 注意本文档编写时发现 Vue 版本为 3.3.4,官方已经内置 Vue 工具链为 Vite 了。

# 1 创建项目
npm create vue@latest

# 2 依次选择配置,等待创建成功
√ Project name: ... vue-project
√ Add TypeScript? ... No / Yes
√ Add JSX Support? ... No / Yes
√ Add Vue Router for Single Page Application development? ... No / Yes
√ Add Pinia for state management? ... No / Yes
√ Add Vitest for Unit Testing? ... No / Yes
√ Add an End-to-End Testing Solution? » No
√ Add ESLint for code quality? ... No / Yes

Scaffolding project in E:\gitWsGitee\temp\vue-project...
Done. Now run:

  cd vue-project
  npm install
  npm run dev

# 3 运行并验证
$ cd vue-project
$ npm install --registry=https://registry.npm.taobao.org
$ npm run dev

# 浏览器访问: http://127.0.0.1:5173/
 vite 方式

 官方最新版的 Vue 已经内置使用 Vite,如果想单独用 Vite 快速启动见 Vite 快速启动传送门

目录结构

 以下目录结构暂做参考,目录结构与版本有关系。

目录/文件说明
build项目构建(webpack)相关代码。
config配置目录,包括端口号等。我们初学可以使用默认的。
node_modulesnpm 加载的项目依赖模块。
src我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件。
src/assets放置一些图片,如 logo 等。
src/components目录里面放了一个组件文件,可以不用。
src/App.vue项目入口文件,我们也可以直接将组件写这里,而不使用 components 目录。
src/main.js项目的核心文件。
src/index.css样式文件。
static静态资源目录,如图片、字体等。
public公共资源目录。
test初始测试目录,可删除
.xxxx 文件这些是一些配置文件,包括语法配置,git配置等。
index.html首页入口文件,你可以添加一些 meta 信息或统计代码啥的。
package.json项目配置文件。
README.md项目的说明文档,markdown 格式
dist使用 npm run build 命令打包后会生成该目录。
Vue 相关技术

附录一、参考文献

参考文献
Last Updated 6/6/2025, 4:53:18 PM