构建Vue3项目的几种方式,如何简化setup写法

1、说明

        在vue2版本中,我们使用vue-cli脚手架进行构建,而切换到Vue3之后,依然可以使用vue-cli脚手架进行构建,但是官方推荐使用vite工具进行构建,下面将介绍几种方式构建vue3项目。

2、使用vue-cli脚手架构建Vue3项目
# 安装vue-cli脚手架
npm install -g @vue/cli@5.0.8   # 可以指定脚手架的版本号
# 创建项目
vue create 项目名  # 在此步以后,需要选择vue3版本,然后等待进行构建
3、使用vite进行创建vue3项目
3.1、第一种
# 创建项目
npm create vue@latest
# 进入目录
cd 项目名
# 安装依赖
npm install
# 运行
npm run dev

执行上述命令之后,一次按照提示进行选择构建。

3.2、第二种
# 使用vite创建Vue3项目
npm init vite-app 项目名
# 进入目录
cd 项目名
# 安装依赖
npm install
# 运行
npm run dev
 4、简化setup
4.1、原始写法
<script lang='ts'>
export default{name:'Test',setup(){let a = 'aaa'function getAA(){console.log('=========')}return {a, getAA} // 需要将声明的交出去,模板才能使用}
}
</script>
4.2、使用语法糖

需要写两个script标签,一个指明组件名,一个定义数据操作。

<script lang='ts'>
export default{name:'Test',
}
</script>
<script setup lang='ts'>let a = 'aaa'function getAA(){console.log('=========')}
}
</script>
4.3、使用插件,简化setup语法糖操作

1、安装插件

npm i vite-plugin-vue-setup-extend

2、在vite.config.ts中引入(注释的地方为新添加的)

import { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
// 引入插件
import VueSetupExtend from 'vite-plugin-vue-setup-extend'export default defineConfig({plugins: [vue(),vueJsx(),VueSetupExtend() // 使用插件],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))}}
})

3、使用插件后setup最终写法

<script setup lang='ts' name='Test'>let a = 'aaa'function getAA(){console.log('=========')}
</script>
4、总结

        本文介绍三种构建vue3项目的方式,同时介绍vue3中一个新的特性,组件式api中setup的简化写法,帮助大家从基础入门vue3的学习。

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

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

相关文章

使用Service Worker、Web Workers进行地图渲染优化

地图的渲染涉及到大量的dom&#xff0c; 如果每次地图重渲染都操作dom将会照成很大的性能开销&#xff0c;下面总结两个方案来开发和优化离线地图&#xff0c;以提升地图操作的流畅性和性能&#xff1a; 方案一&#xff1a;使用Service Worker和离线缓存 利用Service Worker技…

180. 连续出现的数字

180. 连续出现的数字 题目链接&#xff1a;180. 连续出现的数字 代码如下&#xff1a; # Write your MySQL query statement below select distinct l1.num as ConsecutiveNums fromLogs as l1,Logs as l2,Logs as l3 wherel1.idl2.id-1and l2.idl3.id-1and l1.numl2.numand …

【前端面试高频手写题】

# 面试高频手写题 建议优先掌握&#xff1a; instanceof - 考察对原型链的理解 new - 对创建对象实例过程的理解 call/apply/bind - 对this指向的理解 手写promise - 对异步的理解手写原生ajax - 对ajax原理和http请求方式的理解&#xff0c;重点是get和post请求的实现 # 1…

15、数据资产评估指导意见

第一章 总则 第一条 为规范数据资产评估行为,保护资产评估当事人合法权益和公共利益,根据《资产评估基本准则》及其他相关资产评估准则,制定本指导意见。 第二条 本指导意见所称数据资产,是指特定主体合法拥有或者控制的, 能进行货币计量的,且能带来直接或者间接经济利…

在vue项目中实现单点登录

核心依赖版本&#xff0c;vue3.4.x&#xff0c;vue-router4.3.x。 由于vue项目一般都是前后端分离的&#xff0c;所以这里单点的跳转需要在vue中处理。 一开始考虑将单点跳转做在后端&#xff0c;但那样感觉又将前后端强耦合了起来&#xff0c;所以最终还是决定将单点认证的跳转…

excel的XLOOKUP的快速多列关联查询

我们前几章上面介绍了&#xff0c;根据某国产品牌官网介绍的使用&连接来进行多列关联查询&#xff0c;非常的慢。有没有公式可以快速进行XLOOKUP多列关联查询&#xff0c;我们找到了一个速度还可以的办法。 原理&#xff1a;有几列需要关联查询&#xff0c;我们就写几个XLO…

高考填报志愿,怎么分析自己适合什么专业?

高考结束后&#xff0c;很多考生不知道自己的分数段适合什么学校&#xff0c;缺乏目标感&#xff0c;有些专业名称很大&#xff0c;听起来光鲜亮丽&#xff0c;但是是否适合自己&#xff0c;学什么课程&#xff0c;将来就业去向&#xff0c;这些都是需要细致了解的。 专业选择…

matlab 异常值检测与处理——Z-score法

目录 一、算法原理1、算法概述2、主要函数3、参考文献二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、算法概述 使用Z分数法,可以找出距离平均值有多少个标准差值…

提高篇(八):扩展Processing功能:从库使用到跨平台应用

提高篇(八):扩展Processing功能:从库使用到跨平台应用 引言 Processing是一款强大的创意编程工具,广泛应用于艺术、设计和教育等领域。但其真正的魅力在于其可扩展性:你可以通过使用各种扩展库、结合其他编程语言、在不同硬件平台上应用,甚至创建自己的扩展库来丰富Pro…

第十九章 SOAP 错误处理

文章目录 第十九章 SOAP 错误处理Web 服务中的默认故障处理在 Web 服务中返回自定义 SOAP 错误 第十九章 SOAP 错误处理 本主题介绍如何处理 Web 服务和 Web 客户端内的故障。 请注意&#xff0c;SOAPPREFIX 参数会影响任何 SOAP 错误中使用的前缀&#xff1b;请参阅指定 SOA…

Python SQLAlchemy库详解

大家好&#xff0c;在Python生态系统中&#xff0c;SQLAlchemy库是一个强大的工具&#xff0c;为开发人员提供了便捷的方式来处理与数据库的交互。无论是开发一个小型的Web应用程序&#xff0c;还是构建一个大型的企业级系统&#xff0c;SQLAlchemy都能满足你的需求&#xff0c…

什么是shell脚本?

简介 Shell脚本&#xff0c;又称Shell命令稿、程序化脚本&#xff0c;是一种电脑程序使用的文本文件&#xff0c;内容由一连串的shell命令组成&#xff0c;经由Unix Shell直译其内容后运作。Shell脚本可以用来自动化操作&#xff0c;简化管理任务&#xff0c;提高工作效率。 …

事件驱动和动画

目录 表盘交互逻辑 24点纸牌游戏事件驱动 动画 图形动画 属性动画 帧动画 总结 表盘交互逻辑 1.定时器的使用 2.线程中如何更新UI 代码: public static void main(String[] args) {Application.launch();}public void start(Stage stage) {Timer timer = new Timer(…

从零手写实现 nginx-10-sendfile 零拷贝 zero-copy

前言 大家好&#xff0c;我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的&#xff0c;可以参考我的另一个项目&#xff1a; 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

【操作与配置】MySQL安装及启动

【操作与配置】MySQL安装及启动 下载MySQL 进入官网&#xff0c;选择社区版下载 在windows安装 选择不登陆下载 安装MySQL 双击官方安装包 选择“Developer Default”&#xff08;默认&#xff09;即可 Execute&#xff0c;安装完成后next TCP/IP端口等&#xff0c;默认即可…

vue3中作用域插槽

1、先说一下具名插槽 有时在一个组件中包含多个插槽出口是很有用的。举例来说&#xff0c;在一个 组件中&#xff0c;有如下模板&#xff1a; <div class"container"><header><!-- 标题内容放这里 --></header><main><!-- 主要内容…

【TS】进阶

一、类型别名 类型别名用来给一个类型起个新名字。 type s string; let str: s "123";type NameResolver () > string;: // 定义了一个类型别名NameResolver&#xff0c;它是一个函数类型。这个函数没有参数&#xff0c;返回值类型为string。这意味着任何被…

路灯夜景视频素材去哪里找?傍晚黄昏夜景路灯视频素材网分享

在这个数字化的时代&#xff0c;视频创作者们总是在寻找各种优质素材来提升作品的质感。特别是充满浪漫氛围的路灯夜景&#xff0c;为短视频、电影、广告等增添了独特的视觉魅力。今天&#xff0c;我为大家整理了几个优秀的视频素材网站&#xff0c;帮助您轻松找到高质量的路灯…

flask 之JWT认证实现

目录 1、JWT 1.1、JWT概述 1.2、token的生成 1.3、token校验 1.4、flask项目中实现JWT认证 1、JWT 1.1、JWT概述 JWT&#xff08;JSON Web Token&#xff09;是一种用于身份验证和授权的开放标准。它由三部分组成&#xff0c;分别是头部、负载和签名。 头部&#xff0…

最新鲸发卡v11.61开心版 无后门发卡平台源码

安装说明 上传所有文件到服务器 或者宝塔 修改thinkphp伪静态&#xff0c;php版本为7.0 /install 安装 登录后台 /admin 定时任务计划设置 进入宝塔控制面板—–计划任务 填写计划任务 解冻任务 设置时间每小时第2分钟 执行 cd /www/wwwroot/website php think UnfreezeMoney 提…