当前位置: 首页 > news >正文

Vue3:全流程开发

文章目录

      • 环境准备与安装
      • 创建 Vue 3 项目
      • 项目结构解析
      • Vue 3 核心语法
      • 常用指令
      • 开发调试工具
      • 构建与部署

Vue官网

环境准备与安装

在开始之前,请确保本地已安装 Node.js(建议版本 16+)和 npm(Node 包管理器)。可通过终端命令检查版本:

node-vnpm-v

创建 Vue 3 项目

使用 Vue 官方脚手架工具create-vue(推荐)或 Vue CLI 创建项目。

方法一:使用 create-vue(官方推荐)

!进入目标项目文件夹npmcreate vue@3!这里@后填具体版本号

执行后会提示选择功能(如 TypeScript、JSX、Pinia 等),按需选择后进入项目目录并安装依赖:

cd<项目名称>npminstallnpmrun dev

方法二:使用 Vue CLI

npminstall-g@vue/cli vue create my-vue3-projectcdmy-vue3-projectnpmrun serve


端口5173能访问到即启动成功


项目结构解析

创建成功后,核心目录结构如下:

  • src/:源码目录
  • src/main.js:入口文件
  • src/App.vue:根组件
  • public/:静态资源
  • index.html:入口 HTML

Vue 3 核心语法

1. 创建应用实例
main.js中:

import{createApp}from'vue'importAppfrom'./App.vue'createApp(App).mount('#app')

2. 组合式 API(Composition API)
Vue 3 推荐使用<script setup>语法糖简化代码。

示例:响应式数据与方法

<!-- Counter.vue --><scriptsetup>import{ref,computed}from'vue'// 响应式变量constcount=ref(0)// 方法constincrement=()=>{count.value++}// 计算属性constdoubleCount=computed(()=>count.value*2)</script><template><div><p>Count: {{ count }}</p><p>Double: {{ doubleCount }}</p><button@click="increment">+1</button></div></template>

3. 响应式原理

  • ref():用于基本类型(string、number),需通过.value访问
  • reactive():用于对象或数组
import{reactive}from'vue'conststate=reactive({name:'Vue',version:3})

4. 生命周期钩子

import{onMounted,onUnmounted}from'vue'onMounted(()=>{console.log('组件挂载完成')})onUnmounted(()=>{console.log('组件卸载')})

5. 组件通信

  • 父传子:props
  • 子传父:emit
  • 兄弟/跨层级:provide/inject或状态管理(如 Pinia)

父组件传值

<!-- Parent.vue --><scriptsetup>importChildfrom'./Child.vue'constmsg='Hello from parent'</script><template><Child:message="msg"/></template>

子组件接收

<!-- Child.vue --><scriptsetup>defineProps({message:String})</script><template><p>{{ message }}</p></template>

6. 路由(Vue Router)
安装:

npminstallvue-router

配置路由:

// router/index.jsimport{createRouter,createWebHistory}from'vue-router'importHomefrom'../views/Home.vue'constroutes=[{path:'/',component:Home},{path:'/about',component:()=>import('../views/About.vue')}]constrouter=createRouter({history:createWebHistory(),routes})exportdefaultrouter

main.js中使用:

import{createApp}from'vue'importAppfrom'./App.vue'importrouterfrom'./router'createApp(App).use(router).mount('#app')

7. 状态管理(Pinia)
安装:

npminstallpinia

创建 store:

// stores/counter.jsimport{defineStore}from'pinia'exportconstuseCounterStore=defineStore('counter',{state:()=>({count:0}),actions:{increment(){this.count++}}})

在组件中使用:

<scriptsetup>import{useCounterStore}from'../stores/counter'constcounter=useCounterStore()</script><template><p>{{ counter.count }}</p><button@click="counter.increment">+1</button></template>

常用指令

  • v-model:双向绑定
  • v-if/v-show:条件渲染
  • v-for:列表渲染
  • @click:事件监听(v-on的简写)
  • :src:属性绑定(v-bind的简写)

开发调试工具

安装 Vue DevTools 浏览器插件,可调试组件结构、状态、事件等。


构建与部署

构建生产版本:

npmrun build

生成的静态文件在dist/目录,可部署到 Nginx、Vercel、Netlify 等平台。

http://www.jsqmd.com/news/694913/

相关文章:

  • 如何高效使用国家自然科学基金LaTeX模板:科研写作的终极指南
  • 告别‘so库丢失’:Flutter插件集成C++库时libc++_shared.so的完整配置流程
  • 如何用Spek音频频谱分析器轻松掌握音频质量检测:新手终极指南
  • 保姆级教程:在Win10的WSL2里用上你的USB摄像头(以Intel D435i为例)
  • 告别在线焦虑:B站视频下载器如何帮你永久收藏4K超清内容
  • 2027届文亮高考冲刺集训营:全职明星师资领航,助力 70 余名学员提分超百分
  • Flutter for OpenHarmony 应用更新检测与萌系搜索功能实战小记✨
  • 手机里的‘保险柜’:一文搞懂eMMC的RPMB分区如何保护你的指纹和支付密钥
  • 告别手动调参!用Python手搓KCF目标跟踪器,从HOG特征到模型更新保姆级教程
  • Kali换源后apt update还报错?手把手教你排查和修复常见源配置问题
  • 暗黑破坏神3终极辅助工具:D3KeyHelper免费完整指南
  • 笔记本远程调用台式机Ollama教程
  • 别再傻傻分不清!一文搞懂手机卡和手机里的MCC、MNC、IMSI、IMEI都是啥(附查询方法)
  • 深度神经网络的反向传播与梯度优化原理
  • eRoad揭秘:从offer发放到第一天上班,那段「消失的管理空白」
  • 超元力悬浮玻璃剧场:文旅新风口,盈利引擎
  • 从RADIUS服务器到AP:实战搭建一个小型WPA2-Enterprise测试环境(FreeRADIUS + 家用路由器)
  • 服务器模拟断网
  • 2026年贵州活动板房生产商大揭秘:谁将引领行业新潮流? - 速递信息
  • 身为程序员的你,卷到最后剩下了什么?35岁从互联网大厂程序员转行网安
  • AIGC对技术工作的影响:是辅助工具还是职业威胁?——软件测试从业者的视角
  • 如何在有/无备份的情况下检查 iPad 删除后的历史记录?
  • 脑隐私保护工程师:软件测试从业者的新前沿
  • 终极Windows激活指南:如何用智能脚本快速免费激活系统和Office
  • 保姆级教程:在野火STM32F429上从零移植LVGL 8.2(基于HAL库,含触摸屏驱动)
  • 配置模型
  • 放弃单纯的“提示词工程”:长篇专业文本如何向 Agentic Workflow 跃迁?
  • 塑机配件供需对接平台推荐:塑胶工业APP的撮合数据与降本实测 - 广州矩阵架构科技公司
  • 课程论文不再熬夜!虎贲等考 AI:高效、合规、高分,一站式搞定全学科课程作业
  • 告别龟速下载!3种高效获取Ganache for Linux安装包的方法实测(含国内镜像)