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

【Vue3】从零开始编写项目

【Vue3】从零开始编写项目

  • 背景
  • 简介
  • 开发环境
  • 开发步骤及源码
  • 总结

背景

随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创,大多是参考其他文章资料整理所得,感谢每位技术人的开源精神。

简介

本文介绍如何从零开始编写 Vue3 项目,目的是弄清 Vue3 项目的基本组成及原理。

开发环境

分类名称版本
操作系统WindowsWindows 11
IDEVisual Studio Code1.91.1

开发步骤及源码

1> 创建 Vue3 工程,参考:【Vue3】工程创建及目录说明。

2> 清空 src 目录下所有文件。

3> 在 src 目录下创建 Vue 根组件 App.vue

<!-- 组件结构 -->
<template><div class="app">Hello, Vue3</div>
</template><script lang="ts">
export default {// 组件名name: 'App'
}
</script><!-- 组件样式 -->
<style>
.app {background-color: cadetblue;border-radius: 5px;color: white;padding: 20px;
}
</style>

一个 Vue 组件包含三类一级标签:

  • <template>:定义组件结构,类似于前端 HTML。
  • <script>:定义组件行为,此处只暴露了组件名称 App
  • <style>:定义组件样式,即 CSS。

4> 在 src 目录下创建应用入口文件 main.ts,负责初始化 Vue 应用并将其挂载到 DOM 上。

// 引入 createApp 用于创建应用
import { createApp } from 'vue'
// 引入 App 根组件
import App from './App.vue'// 创建应用并挂载到DOM(index.html)
createApp(App).mount('#app')

注意:Vue 根组件所挂载的DOM定义在 index.html 文件中。
index.html
index.html 只做了两件事:

  • 定义 Vue 根组件挂载的 DOM(默认为 app)。
  • 引入应用入口文件 main.ts
  1. 执行命令 npm run dev 启动应用。
    Vue3

总结

从零开始创建一个最简单的 Vue3 项目需要编写三个文件:

  • index.html:通过命令创建项目后自动生成,无需修改,此文件只做了两件事,一是定义 Vue 根组件挂载的 DOM,二是引入应用入口文件 main.ts
  • App.vue:定义 Vue 根组件,包括定义组件的结构、行为和样式;
  • main.ts:应用入口文件,通过 Vue 提供的 createApp 方法创建应用,然后通过 mount 方法挂在到 DOM 上。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 今日总结:雪花算法,拉取在线用户
  • 深入理解Linux网络(二):UDP接收内核探究
  • tg小程序前端-dogs前端源码分析
  • mongodb数据导出与导入
  • 【20】读感 - 架构整洁之道(二)
  • 基于springboot+vue+uniapp的农场管理系统小程序
  • Yum包下载
  • 【python doris】python连接doris数据库,并查询返回数据框
  • <数据集>pcb板缺陷检测数据集<目标检测>
  • Socket、WebSocket 和 MQTT 的区别
  • c++基础(类和对象中)(类的默认成员函数)
  • 使用Event Sourcing模式管理应用状态
  • c++图的基本操作
  • 塔子哥的题解点赞方案-美团2023笔试(codefun2000)
  • 递归遍历树结构,前端传入一整颗树,后端处理这个树,包括生成树的id和pid等信息,
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【前端学习】-粗谈选择器
  • Android Studio:GIT提交项目到远程仓库
  • Apache Spark Streaming 使用实例
  • CSS 提示工具(Tooltip)
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • iOS | NSProxy
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript类型识别
  • Js基础知识(一) - 变量
  • Node + FFmpeg 实现Canvas动画导出视频
  • Service Worker
  • v-if和v-for连用出现的问题
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端技术周刊 2019-01-14:客户端存储
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 听说你叫Java(二)–Servlet请求
  • 为视图添加丝滑的水波纹
  • 我是如何设计 Upload 上传组件的
  • 一份游戏开发学习路线
  • 再次简单明了总结flex布局,一看就懂...
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $.ajax()参数及用法
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (3)nginx 配置(nginx.conf)
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (二)windows配置JDK环境
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (十六)视图变换 正交投影 透视投影
  • (四)软件性能测试
  • (一)kafka实战——kafka源码编译启动
  • (转)ORM
  • .net core docker部署教程和细节问题
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法