通过vite创建项目

一、VUE3官网

Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)

二、通过Vite创建项目

1、在cmd窗口下,全局安装vite


//使用国内镜像源
npm config set registry=https://registry.npmmirror.com//安装最新版vite
npm  install -g  vite@latest

 Vite | 下一代的前端工具链 (vitejs.dev)

查看npm版本命令

npm --version
8.15.0

npm更新版本

npm install -g npm

2、创建项目(cmd窗口cd切换到要创建文件的目录)

npm init vite@latest wms_web -- --template vue-ts

 输入提示的三个命令,cd切换到目标目录,然后安装依赖,运行项目

 

 三、vscode打开项目

打开vscode,点打开文件夹找到文件夹所在位置

四、运行命令

npm install
npm run dev

 五、总结->整体运行步骤:

1.安装vite: npm install -g vite@latest

2.创建项目: npm init vite@latest 项目名称 -- --template vue-ts

3. cd 到项目目录之后运行

4. npm install

5. npm run dev

六、项目结构

├── public  //目录用于存放静态文件,例如 index.html 文件和图片等,打包时不会加随机后缀
│   ├── favicon.ico  
├── src   //目录用于存放源代码
│   ├── assets  //目录用于存放静态资源,例如图片、字体等,在打包时会在图片名后默认加上随机后缀
│   ├── components  //目录用于存放组件
│   ├── router   //目录用于存放路由文件
│   ├── store   //目录用于存放 Vuex 相关文件
│   ├── views    //目录用于存放页面组件
│   ├── App.vue  //文件是应用程序的根组件
│   └── main.js   //文件是应用程序的入口文件
├── index.html  //首页入口
├── README.md  //说明文件
├── tsconfig.json  //typescript配置文件
├── vite.config.ts  //vite配置文件
└── package.json    //项目依赖配置---dist  	//使用 npm run build 命令打包后会生成该目录

 项目入口文件中,可以更改项目标题

七、使用组件

新建组件

在 App.vue里导入并使用组件 


<template>{{msg}}
//使用组件<Mycomponent></Mycomponent>
</template>
<script setup lang="ts">
import { ref} from 'vue'
//导入组件
import Mycomponent  from './components/Mycomponents.vue'const msg = ref('HelloYA')</script>

结果

 八、生命周期钩子函数

组合式 API:生命周期钩子 | Vue.js (vuejs.org)

 

1、onMounted钩子函数

在Vue 3中,立即调用一个函数和在onMounted 钩子中调用该函数之间的主要区别在于它们执行的时机以及它们可以访问的Vue组件上下文的差异。

立即调用函数:当你在组件的setup函数中声明并立即调用一个函数时,这个函数会在组件的初始化阶段立即执行。这意味着它会在组件的其它生命周期钩子之前执行,甚至在模板和DOM被渲染之前。这对于初始化状态或执行不依赖于DOM的逻辑是有用的。然而,由于此时组件尚未挂载,所以无法访问到DOM元素,同时也无法保证所有的子组件或异步数据已经加载完成。
使用onMounted:onMounted是Vue的一个生命周期钩子,它会在组件的DOM已经被挂载到页面上之后调用。这意味着当你在onMounted钩子中调用函数时,你可以安全地执行DOM操作或者执行依赖于子组件已经挂载的操作。此时,组件已经完成了初始渲染,因此对于需要访问或修改DOM的操作,onMounted是一个理想的位置。
总结一下,主要区别在于:

执行时机:立即调用函数在组件初始化时立即执行,而onMounted在组件挂载完成后执行。
能做什么:立即调用函数适用于不需要DOM,且不依赖于组件挂载的逻辑。而onMounted适用于需要访问或修改DOM,或依赖于子组件已挂载的场景。
访问组件上下文:在Vue 3的setup函数中,无论是立即调用函数还是onMounted中调用的函数,都可以访问组件上下文(通过setup的参数或useContext),但是在onMounted中可以确保所有的响应式数据已经准备好,且组件已经挂载。

例:使用钩子函数,更改msg的值看最终页面上显示的msg内容

 

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

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

相关文章

Pygame基础11-mask 蒙版

蒙版 蒙版是二值化的图像&#xff0c;每个像素的值只能是0或1。 mask(蒙版)的用途&#xff1a; 碰撞检测部分着色 案例 和字母的碰撞检测 当玩家碰到字母 α \alpha α时&#xff0c;改变玩家颜色为绿色&#xff0c;否则为红色。 注意&#xff1a;我们希望碰到字母 α \alp…

考研数学1800还是660还是880?

24考完&#xff0c;大家都发现&#xff0c;没有一本习题册&#xff0c;覆盖了考试的所有知识点。 主流的模拟卷&#xff0c;都没有达到24卷的难度。 这就意味着&#xff1a; 一本习题册不够了&#xff01; 刷主流模拟卷不够了&#xff01; 这会需要整个考研复习的安排&…

C++(set和map详解,包含常用函数的分析)

set set是关联性容器 set的底层是在极端情况下都不会退化成单只的红黑树,也就是平衡树,本质是二叉搜索树. set的性质:set的key是不允许被修改的 使用set需要包含头文件 set<int> s;s.insert(1);s.insert(1);s.insert(1);s.insert(1);s.insert(2);s.insert(56);s.inser…

制造业工厂怎么通过MES系统来升级改造车间管理

在当今高度竞争的市场环境下&#xff0c;制造业企业需要不断提高生产效率&#xff0c;以在激烈的竞争中立于不败之地。而一种被广泛应用的方法就是利用MES控制系统&#xff0c;通过数字化管理和自动化控制来改造生产车间提升生产效率。 1、MES管理系统能够实现对生产过程的全面…

Navicat Premium 16 Mac/win---数据库设计、管理与维护轻松掌握数据库管理精髓

Navicat Premium是一款功能强大的数据库开发工具&#xff0c;支持多种数据库系统&#xff0c;如MySQL、Redis、MariaDB、Oracle等&#xff0c;并可与云数据库兼容&#xff0c;如Amazon RDS、Microsoft Azure等。它提供了直观易用的用户界面&#xff0c;使得开发者能够轻松上手并…

k8s calico由IPIP模式切换为BGP模式

按照官网calico.yaml部署后&#xff0c;默认是IPIP模式 查看route -n &#xff0c; 看到是tunl0口进行转发 怎么切换到BGP模式呢&#xff1f; kubectl edit ippool 将ipipMode由Always修改为Never &#xff0c;修改后保存文件即可。无需做任何操作&#xff0c;自动就切换为BG…

MySql实战--普通索引和唯一索引,应该怎么选择

在前面的基础篇文章中&#xff0c;我给你介绍过索引的基本概念&#xff0c;相信你已经了解了唯一索引和普通索引的区别。今天我们就继续来谈谈&#xff0c;在不同的业务场景下&#xff0c;应该选择普通索引&#xff0c;还是唯一索引&#xff1f; 假设你在维护一个市民系统&…

stm32cubeMX_io输入输出讲解

1创建项目&#xff08;可在专栏里找到&#xff09; 2进入当前页面点击引脚将弹出下图选项选择输入输出 带点击GPIO 点击引脚弹出如下选项根据需求选择 如有需要可以使用外部时钟&#xff1b;设置如图使用外部时钟 生成代码 将会弹出一个提示点击中间项//打开项目

HarmonyOS NEXT应用开发之MVVM模式

应用通过状态去渲染更新UI是程序设计中相对复杂&#xff0c;但又十分重要的&#xff0c;往往决定了应用程序的性能。程序的状态数据通常包含了数组、对象&#xff0c;或者是嵌套对象组合而成。在这些情况下&#xff0c;ArkUI采取MVVM Model View ViewModel模式&#xff0c;其…

clickhouse 源码编译部署

clickhouse 源码编译部署 版本 21.7.9.7 点击build project&#xff0c;编译工程&#xff0c;经过一定时间&#xff08;第一次编译可能几个小时&#xff0c;后续再编译&#xff0c;只编译有改动的文件&#xff09;生成release目录 在cmake-build-release → programs目录下…

vivado eFUSE 寄存器访问和编程

eFUSE 寄存器访问和编程 注释 &#xff1a; 在 MPSoC 和 Versal 器件上不支持以下 eFUSE 访问和编程方法。 7 系列、 UltraScale 和 UltraScale 器件具有一次性可编程位用于执行特定功能 &#xff0c; 称为 eFUSE 位。不同 eFUSE 位类型如 下所述&#xff1a; • …

单例(Singleton)设计模式

2.1 设计模式概述 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式免去我们自己再思考和摸索。就像是经典的棋谱&#xff0c;不同的棋局&#xff0c;我们用不同的棋谱。"套路" 经典的设计模式共有23种。每个…

语音识别:基于HMM

HMM语音识别的解码过程 从麦克风采集的输入音频波形被转换为固定尺寸的一组声学向量&#xff1a; 其中是维的语音特征向量&#xff08;例如MFCC&#xff09;。 解码器尝试去找到上述特征向量序列对应的单词&#xff08;word&#xff09;的序列&#xff1a; 单词序列的长度是。…

【大数据存储】实验4 NoSQL数据库

实验4 NoSQL数据库 NoSQL数据库的安装和使用实验环境&#xff1a; Ubuntu 22.04.3 Jdk 1.8.0_341 Hadoop 3.2.3 Hbase 2.4.17 Redis 6.0.6 mongdb 6.0.12 mogosh 2.1.0 Redis 安装redis完成 新建终端启动redisredis-server新建一个终端redis-cli 建表操作 尝…

超越传统时序!多模态+时间序列8个创新方案,刷新SOTA

传统时间序列无法有效捕捉数据中复杂的非线性关系&#xff0c;导致在处理具有复杂动力学特性的系统时效果不佳。为解决此问题&#xff0c;研究者提出了多模态时间序列。 在预测任务中&#xff0c;多模态时间序列能够整合来自不同类型数据源的信息&#xff0c;从而提供更全面的洞…

笔记: JavaSE day15 笔记

第十五天课堂笔记 数组 可变长参数★★★ 方法 : 返回值类型 方法名(参数类型 参数名 , 参数类型 … 可变长参数名){}方法体 : 变长参数 相当于一个数组一个数组最多只能有一个可变长参数, 并放到列表的最后parameter : 方法参数 数组相关算法★★ 冒泡排序 由小到大: 从前…

JavaScript(六)---【回调、异步、promise、Async】

零.前言 JavaScript(一)---【js的两种导入方式、全局作用域、函数作用域、块作用域】-CSDN博客 JavaScript(二)---【js数组、js对象、this指针】-CSDN博客 JavaScript(三)---【this指针&#xff0c;函数定义、Call、Apply、函数绑定、闭包】-CSDN博客 JavaScript(四)---【执…

并发编程之线程池的应用以及一些小细节的详细解析

线程池在实际中的使用 实际开发中&#xff0c;最常用主要还是利用ThreadPoolExecutor自定义线程池&#xff0c;可以给出一些关键的参数来自定义。 在下面的代码中可以看到&#xff0c;该线程池的最大并行线程数是5&#xff0c;线程等候区&#xff08;阻塞队列)是3&#xff0c;即…

数据挖掘|关联分析与Apriori算法详解

数据挖掘|关联分析与Apriori算法 1. 关联分析2. 关联规则相关概念2.1 项目2.2 事务2.3 项目集2.4 频繁项目集2.5 支持度2.6 置信度2.7 提升度2.8 强关联规则2.9 关联规则的分类 3. Apriori算法3.1 Apriori算法的Python实现3.2 基于mlxtend库的Apriori算法的Python实现 1. 关联分…

window中如何在Anaconda虚拟环境中安装compressai

1, 进入CompressAI的Github代码页下载压缩包并解压到自己的项目路径 2&#xff0c;打开anaconda的prompt命令行&#xff0c;激活需要安装的虚拟环境&#xff0c;然后进入compressai文件夹&#xff0c;比如下操作&#xff1a; 3&#xff0c;输出安装命令行 pip install -e . -…