vue3小白入门

第一步:环境搭建

在开始之前,你需要确保本地安装了 Node.js (建议版本 16.0 或更高)。你可以通过命令行输入 node -vnpm -v 来检查是否已安装。

目前,创建 Vue 3 项目最推荐的方式是使用 Vite,因为它基于原生 ES 模块,启动速度极快,热更新体验极佳。

1. 使用 Vite 创建项目 (推荐)

perl 复制代码
bash
深色版本
# 创建项目
npm create vite@latest my-vue-app -- --template vue

# 进入项目目录
cd my-vue-app

# 安装依赖
npm install

# 启动开发服务器
npm run dev

说明my-vue-app 是你的项目名称,可以自定义。执行后,浏览器会自动打开 http://localhost:5173,看到 Vue 的欢迎页面。

2. 使用 Vue CLI (传统方式)

虽然 Vite 更现代,但 Vue CLI 依然强大且稳定,适合需要高度定制化或兼容旧项目的场景。

perl 复制代码
bash
深色版本
# 全局安装 Vue CLI
npm install -g @vue/cli

# 创建项目
vue create my-vue-app

# 启动项目
cd my-vue-app
npm run serve

第二步:理解项目结构

成功创建项目后,你会看到类似如下的目录结构:

csharp 复制代码
深色版本
my-vue-app/
├── node_modules/          # 项目依赖包
├── public/                # 静态资源文件夹
├── src/                   # 源码目录
│   ├── assets/            # 静态资源 (图片, 字体等)
│   ├── components/        # 可复用的组件
│   ├── App.vue            # 根组件
│   └── main.ts            # 应用入口文件
├── index.html             # 页面入口 HTML
├── package.json           # 项目配置和依赖
└── vite.config.ts         # Vite 配置文件
  • main.ts : 项目的起点。它创建了一个 Vue 应用实例,并将其挂载到 index.html 中的 #app 元素上。
  • App.vue: 根组件,所有其他组件都将作为其子组件被渲染。

第三步:核心概念与基础语法

1. 响应式数据 (Reactivity)

Vue 3 的核心是响应式系统。使用 refreactive 可以让数据变得"响应式",即当数据变化时,视图会自动更新。

xml 复制代码
vue
深色版本
<script setup>
import { ref, reactive } from 'vue'

// ref: 用于基本类型 (字符串, 数字等)
const count = ref(0)

// reactive: 用于对象或数组
const state = reactive({
  name: 'Vue 3',
  version: '3.4'
})

function increment() {
  count.value++ // 注意:ref 需要 .value 访问
}
</script>

<template>
  <div>
    <p>计数: {{ count }}</p>
    <p>框架: {{ state.name }} v{{ state.version }}</p>
    <button @click="increment">增加</button>
  </div>
</template>

2. 模板指令 (Directives)

Vue 提供了一系列指令来操作 DOM。

  • v-model: 实现表单输入和应用状态之间的双向绑定。

    css 复制代码
    vue
    深色版本
    <input v-model="message" />
    <p>输入内容: {{ message }}</p>
  • v-if / v-show: 条件渲染。

    ini 复制代码
    vue
    深色版本
    <p v-if="isVisible">这段文字有条件显示</p>
    <p v-show="isVisible">这段文字通过 CSS 显示/隐藏</p>
  • v-for: 列表渲染。

    css 复制代码
    vue
    深色版本
    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item }}
      </li>
    </ul>
  • v-bind (:) : 动态绑定属性。

    ini 复制代码
    vue
    深色版本
    <img :src="imageSrc" :alt="imageName" />
  • v-on (@) : 绑定事件监听器。

    ini 复制代码
    vue
    深色版本
    <button @click="handleClick">点击我</button>

3. 组件 (Components)

组件是 Vue 的基石,允许你将 UI 拆分为独立、可复用的部分。

创建子组件 (MyComponent.vue):

xml 复制代码
vue
深色版本
<template>
  <div class="my-component">
    <h3>{{ title }}</h3>
    <slot></slot> <!-- 插槽,用于接收父组件传递的内容 -->
  </div>
</template>

<script setup>
defineProps({
  title: String
})
</script>

在父组件中使用:

xml 复制代码
vue
深色版本
<template>
  <MyComponent title="我的第一个组件">
    <p>这是插槽中的内容</p>
  </MyComponent>
</template>

<script setup>
import MyComponent from './components/MyComponent.vue'
</script>

4. Composition API (组合式 API)

这是 Vue 3 引入的核心特性,相比 Options API,它提供了更好的逻辑组织和复用能力。上面例子中使用的 <script setup> 语法糖就是 Composition API 的简化写法。

5. 生命周期钩子 (Lifecycle Hooks)

组件在运行过程中会经历不同的阶段(创建、挂载、更新、销毁),你可以通过生命周期钩子函数在特定阶段执行代码。

xml 复制代码
vue
深色版本
<script setup>
import { onMounted, onUnmounted } from 'vue'

onMounted(() => {
  console.log('组件已挂载')
})

onUnmounted(() => {
  console.log('组件已卸载')
})
</script>

第四步:进阶功能

1. 路由 (Vue Router)

用于构建单页应用 (SPA),实现页面间的导航。

css 复制代码
bash
深色版本
npm install vue-router@4

2. 状态管理 (Pinia)

Vue 官方推荐的状态管理库,用于管理跨组件共享的状态。

复制代码
bash
深色版本
npm install pinia
相关推荐
我只会写Bug啊1 小时前
Vue文件预览终极方案:PNG/EXCEL/PDF/DOCX/OFD等10+格式一键渲染,开源即用!
前端·vue.js·pdf·excel·预览
扯蛋4383 小时前
LangChain的学习之路( 一 )
前端·langchain·mcp
Mr.Jessy3 小时前
Web APIs学习第一天:获取 DOM 对象
开发语言·前端·javascript·学习·html
ConardLi4 小时前
Easy Dataset 已经突破 11.5K Star,这次又带来多项功能更新!
前端·javascript·后端
冴羽4 小时前
10 个被严重低估的 JS 特性,直接少写 500 行代码
前端·javascript·性能优化
rising start4 小时前
四、CSS选择器(续)和三大特性
前端·css
一 乐4 小时前
高校后勤报修系统|物业管理|基于SprinBoot+vue的高校后勤报修系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·毕设
爱喝水的小周4 小时前
《UniApp 页面配置文件pages.json》
前端·uni-app·json
mapbar_front5 小时前
React中useContext的基本使用和原理解析
前端·react.js
贪婪的君子5 小时前
【每日一面】实现一个深拷贝函数
前端·js