Vue3开发环境搭建与基础语法
一、Vite4极速脚手架创建项目(对比Vue CLI)
1.1 Vite4快速创建
npm create vite@latest my-vue-app -- --template vue
cd my-vue-app
npm install
npm run dev
优势对比:
- 冷启动速度:Vite <1s vs Vue CLI 10s+
- 热更新:Vite保持ESM模块热替换 vs Webpack打包更新
- 构建工具:Vite基于Rollup vs Vue CLI基于Webpack
1.2 与Vue CLI创建对比
# Vue CLI方式(已不推荐新项目使用)
npm install -g @vue/cli
vue create my-old-app
项目创建参数对比:
特性 | Vite4 | Vue CLI |
---|---|---|
默认包管理器 | 自动检测 | 强制选择 |
配置方式 | 原生ESM | Webpack配置 |
TS支持 | 开箱即用 | 需手动选择 |
二、项目结构解析:SFC架构
2.1 核心目录结构
├── src/
│ ├── assets/ # 静态资源
│ ├── components/ # 组件目录
│ ├── App.vue # 根组件
│ └── main.js # 入口文件
├── public/ # 公共资源
├── vite.config.js # Vite配置
└── package.json # 项目配置
2.2 单文件组件(SFC)结构
<template>
<!-- HTML模板 -->
<div>{{ message }}</div>
</template>
<script setup>
// 组合式API
const message = ref('Hello Vue3!')
</script>
<style scoped>
/* 局部样式 */
div {
color: #42b983;
}
</style>
三、模板语法基础
3.1 数据插值
<template>
<p>{{ message }}</p>
<p>{{ reversedMessage }}</p>
</template>
<script setup>
const message = ref('Hello World')
const reversedMessage = computed(() => message.value.split('').reverse().join(''))
</script>
3.2 常用指令
<template>
<!-- 条件渲染 -->
<div v-if="show">可见内容</div>
<!-- 列表渲染 -->
<ul>
<li v-for="item in items" :key="item.id">
{{ item.name }}
</li>
</ul>
<!-- 表单绑定 -->
<input v-model="inputText" type="text">
</template>
<script setup>
const show = ref(true)
const items = ref([{id:1, name:'Item1'}, {id:2, name:'Item2'}])
const inputText = ref('')
</script>
四、事件绑定与处理
4.1 基础事件绑定
<template>
<button @click="count++">Add +1</button>
<p>Count: {{ count }}</p>
<button @click="greet">Greet</button>
</template>
<script setup>
const count = ref(0)
const greet = () => alert('Hello Vue3!')
</script>
4.2 事件修饰符
<template>
<!-- 阻止默认行为 -->
<form @submit.prevent="onSubmit">
<!-- 按键修饰符 -->
<input @keyup.enter="submitForm">
<!-- 链式修饰符 -->
<div @click.stop.prevent="doSomething"></div>
</template>
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 万家灯火