【Vue3 入门到实战】1. 创建Vue3工程

news2025/1/16 1:04:04

目录

​编辑

1. 学习目标

2. 环境准备与初始化

 3. 项目文件结构

4. 写一个简单的效果

 5. 总结


1. 学习目标

(1) 掌握如何创建vue3项目。

(2) 了解项目中的文件的作用。

(3) 编辑App.vue文件,并写一个简单的效果。

2. 环境准备与初始化

(1) 安装 Node.js 和 npm

为了方便管理,我们直接安装 nvm 来管理Node.js的不同版本,点击下方链接查看如何安装 nvm 当然,如果你已经安装了node.js,也可以跳过此步骤。

nvm-下载、安装、使用(2024/09/03更新)-CSDN博客

(2) 使用 Vite 构建工具创建项目

为什么不使用 cli 呢,原因如下 

vite 是新一代前端构建工具,与cli相比,具有很多优势。

<1> 轻量快速的热重载,能实现急速的服务启动。

<2> 对TypeScriptJSXcss 等支持开箱即用。

<3> 真正的按需编译,不再等待整个应用编译完成。

构建命令

## 1.创建命令
npm create vue@latest

## 2.具体配置
## 配置项目名称
√ Project name: vue3_test
## 是否添加TypeScript支持
√ Add TypeScript?  Yes
## 是否添加JSX支持
√ Add JSX Support?  No
## 是否添加路由环境
√ Add Vue Router for Single Page Application development?  No
## 是否添加pinia环境
√ Add Pinia for state management?  No
## 是否添加单元测试
√ Add Vitest for Unit Testing?  No
## 是否添加端到端测试方案
√ Add an End-to-End Testing Solution? » No
## 是否添加ESLint语法检查
√ Add ESLint for code quality?  Yes
## 是否添加Prettiert代码格式化
√ Add Prettier for code formatting?  No

初始化启动 

## 初始化
npm install

## 启动
npm run dev

启动成功 

 

 3. 项目文件结构

创建好的vue3项目结构如图所示。

 

各个文件的作用我放在了下面的表格中。

extensions.json项目开发过程中推荐使用的 VS Code 扩展
settings.json(VS Code) 的核心配置文件之一,用于定义编辑器的行为、界面设置
/node_modules存放项目依赖的所有第三方库和模块
/public存放不会被 Webpack 或其他构建工具处理的静态资源
/srcVue.js 项目的核心部分,包含了项目的源代码和主要逻辑
main.ts它负责创建 Vue 应用实例、配置全局插件和服务,并将应用挂载到 DOM 中
App.vueVue 3 项目中的根组件,它是整个应用的起点和容器
package.json定义了项目的元数据、依赖项、脚本命令以及其他配置信息。
env.d.ts用于定义全局类型声明,确保 TypeScript 编译器能够正确理解环境变量和其他全局对象。
vite.config.tsVite 构建工具的核心配置文件,可以配置插件、优化构建过程、设置别名、定义服务器选项等

4. 写一个简单的效果

(1) 在 /src/components 目录下创建一个组件 Person.vue

Person.vue

<template>
    <div class="person">
        <h3>我是Person组件</h3>
        <h2>姓名:{{ name }}</h2>
        <h2>年龄:{{ age }}</h2>
        <button v-on:click="changeName">修改名字</button>
        <button v-on:click="changeAge">修改年龄</button>
        <button v-on:click="showTel">查看联系方式</button>
    </div>
</template>

<script lang="ts">
export default {
    name: 'Person',
    data() {
        return {
            name: '张三',
            age: 18,
            tel:'88888'
        }
    },
    methods:{
        changeName(){
            this.name = '李四'
        },
        changeAge(){
            this.age += 1;
        },
        showTel(){
            alert(this.tel)
        }
    }
}
</script>

<style>
    .person {
        background: blue;
        padding: 20px;
    }
    button{
        margin: 0 5px;
    }
</style>

(2) 在 App.vue 文件中引入 Person.vue 组件 

App.vue

<template>
  <div class="app">
    <h2>你好呀</h2>
    <Person></Person>
  </div>
</template>

<script lang="ts">
import Person from './components/Person.vue'
export default {
  name: 'App', 
  components: {
    Person
  }
}
</script>

<style>
.app{
  background: wheat;
  padding: 20px;
}
</style>

效果如下

 

 

 5. 总结

在过去的接触中,我积累了关于 Vue 3 的一些零散知识点。为了更深入和系统地学习 Vue 3,我决定跟随视频教程和官方文档进行一次全面的学习,并在此过程中记录下我的学习笔记。

本文将详细讲解如何从头开始创建一个 Vue 3 工程。这不仅是构建任何 Vue 应用的第一步,也是理解框架工作原理的重要起点。随着后续的学习,我将继续撰写系列文章,涵盖更多主题和技术细节。如果对你有帮助,不妨点赞、关注+收藏防止不迷路😀。

学习视频 ↓ ↓ ↓

【尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程】 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2277262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Flink-JDBC将数据同步到Doris

在现代数据分析和处理环境中&#xff0c;数据同步是一个至关重要的环节。Apache Flink和Doris是两个强大的工具&#xff0c;分别用于实时数据处理和大规模并行处理&#xff08;MPP&#xff09;SQL数据库。本文将介绍如何使用Flink-JDBC连接器将数据同步到Doris。 一、背景介绍…

深度学习中的学习率调度器(scheduler)分析并作图查看各方法差异

文章目录 1. 指数衰减调度器&#xff08;Exponential Decay Scheduler&#xff09;工作原理适用场景实现示例 2. 余弦退火调度器&#xff08;Cosine Annealing Scheduler&#xff09;工作原理适用场景实现示例 3. 步长衰减调度器&#xff08;Step Decay Scheduler&#xff09;工…

基于springboot+vue+微信小程序的宠物领养系统

基于springbootvue微信小程序的宠物领养系统 一、介绍 本项目利用SpringBoot、Vue和微信小程序技术&#xff0c;构建了一个宠物领养系统。 本系统的设计分为两个层面&#xff0c;分别为管理层面与用户层面&#xff0c;也就是管理者与用户&#xff0c;管理权限与用户权限是不…

Nginx安全加固系列:Referrer-Policy

假设页面有一个链接&#xff0c;点击这个链接&#xff0c;会向服务器发送Http请求&#xff0c;加载这个链接指向的页面&#xff0c;在这个Http请求头里&#xff0c;会包含一个Referrer的标头&#xff0c;用于向服务器说明这个Http请求是从哪个页面跳转过来的&#xff0c;那么这…

SQL面试题1:连续登陆问题

引言 场景介绍&#xff1a; 许多互联网平台为了提高用户的参与度和忠诚度&#xff0c;会推出各种连续登录奖励机制。例如&#xff0c;游戏平台会给连续登录的玩家发放游戏道具、金币等奖励&#xff1b;学习类 APP 会为连续登录学习的用户提供积分&#xff0c;积分可兑换课程或…

LeetCode_5. 最长回文子串

最长回文子串https://leetcode.cn/problems/longest-palindromic-substring?envTypeproblem-list-v2&envId2cktkvj 给你一个字符串 s&#xff0c;找到 s 中最长的 回文子串 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" …

3D目标检测数据集——Waymo数据集

Waymo数据集簡介 发布首页&#xff1a;https://waymo.com/open/ 论文&#xff1a;https://openaccess.thecvf.com/content_CVPR_2020/papers/Sun_Scalability_in_Perception_for_Autonomous_Driving_Waymo_Open_Dataset_CVPR_2020_paper.pdf github&#xff1a;https://github.…

如何在 Linux、MacOS 以及 Windows 中打开控制面板

控制面板不仅仅是一系列图标和菜单的集合&#xff1b;它是通往优化个人计算体验的大门。通过它&#xff0c;用户可以轻松调整从外观到性能的各种参数&#xff0c;确保他们的电脑能够完美地适应自己的需求。无论是想要提升系统安全性、管理硬件设备&#xff0c;还是简单地改变桌…

Mycat读写分离搭建及配置超详细!!!

目录 一、Mycat产生背景二、Mycat介绍三、Mycat安装四、Mycat搭建读写分离1、 搭建MySQL数据库主从复制2、 基于mysql主从复制搭建MyCat读写分离 五、Mycat启动常见错误处理1、Caused by: io.mycat.config.util.ConfigException: SelfCheck### schema TESTDB refered by user u…

空指针:HttpSession异常,SpringBoot集成WebSocket

异常可能性&#xff1a; 404 &#xff1a; 请检查拦截器是否将请求拦截WebSocket握手期间HttpSession为空 HttpSession为空 方法一 &#xff1a; 网上参考大量的文档&#xff0c;有说跟前端请求域名有关系的。 反正对我来说&#xff0c;没啥用无法连接。 需使用 localhost&a…

【大数据】机器学习------决策树

一、基本流程 决策树是一种基于树结构的分类和回归方法&#xff0c;它通过对特征空间进行划分&#xff0c;每个内部节点表示一个特征测试&#xff0c;每个分支代表一个测试输出&#xff0c;每个叶节点代表一个类别或回归值。 特征选择&#xff1a;根据某种准则&#xff08;如信…

服务器数据恢复—raid5故障导致上层ORACLE无法启动的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统&#xff0c;部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。服务器操作系统无法启动&#xff0c;ORACLE数据库也无法启动。 服…

Day05-后端Web基础——TomcatServletHTTP协议SpringBootWeb入门

目录 Web基础知识课程内容1. Tomcat1.1 简介1.2 基本使用1.2.1 下载1.2.2 安装与卸载1.2.3 启动与关闭1.2.4 常见问题 2. Servlet2.1 快速入门2.1.1 什么是Servlet2.1.2 入门程序2.1.3 注意事项 2.2 执行流程 3. HTTP协议3.1 HTTP-概述3.1.1 介绍3.1.2 特点 3.2 HTTP-请求协议3…

【已解决】【记录】2AI大模型web UI使用tips 本地

docker desktop使用 互动 如果需要发送网页链接&#xff0c;就在链接上加上【#】号 如果要上传文件就点击这个➕号 中文回复 命令它只用中文回复&#xff0c;在右上角打开【对话高级设置】 输入提示词&#xff08;提示词使用英文会更好&#xff09; Must reply to the us…

Deep4SNet: deep learning for fake speech classification

Deep4SNet&#xff1a;用于虚假语音分类的深度学习 摘要&#xff1a; 虚假语音是指即使通过人工智能或信号处理技术产生的语音记录。生成虚假录音的方法有"深度语音"和"模仿"。在《深沉的声音》中&#xff0c;录音听起来有点合成&#xff0c;而在《模仿》中…

Docker save load 镜像 tag 为 <none>

一、场景分析 我从 docker hub 上拉了这么一个镜像。 docker pull tomcat:8.5-jre8-alpine 我用 docker save 命令想把它导出成 tar 文件以便拷贝到内网机器上使用。 docker save -o tomcat-8.5-jre8-alpine.tar.gz 镜像ID 当我把这个镜像传到别的机器&#xff0c;并用 dock…

备战蓝桥杯 队列和queue详解

目录 队列的概念 队列的静态实现 总代码 stl的queue 队列算法题 1.队列模板题 2.机器翻译 3.海港 双端队列 队列的概念 和栈一样&#xff0c;队列也是一种访问受限的线性表&#xff0c;它只能在表头位置删除&#xff0c;在表尾位置插入&#xff0c;队列是先进先出&…

工厂物流管理系统方案(二):危险品车辆专用导航系统架构设计深度剖析

本文专为IT架构师、物流技术专家、软件开发工程师及对危险品运输导航技术有深入探索需求的读者撰写&#xff0c;旨在全面解析危险品车辆专用导航系统的架构设计&#xff0c;展现其技术深度与复杂性&#xff0c;为行业同仁提供权威的技术参考与实践指导。如需获取危险品车辆专用…

用 Python 从零开始创建神经网络(十九):真实数据集

真实数据集 引言数据准备数据加载数据预处理数据洗牌批次&#xff08;Batches&#xff09;训练&#xff08;Training&#xff09;到目前为止的全部代码&#xff1a; 引言 在实践中&#xff0c;深度学习通常涉及庞大的数据集&#xff08;通常以TB甚至更多为单位&#xff09;&am…

No.1|Godot|俄罗斯方块复刻|棋盘和初始方块的设置

删掉基础图标新建assets、scenes、scripts文件夹 俄罗斯方块的每种方块都是由四个小方块组成的&#xff0c;很适合放在网格地图中 比如网格地图是宽10列&#xff0c;高20行 要实现网格的对齐和下落 Node2D节点 新建一个Node2D 添加2个TileMapLayer 一个命名为Board&…