从零开始快速构建Vue3项目

一、技术选型

组件大类

具体插件

vue3插件

相关插件开发文档

基础架构搭建

初始项目搭建、打包构件工具:vite开始 | Vite
路由管理及菜单权限封装vue-router介绍 | Vue Router
状态管理Pinia介绍 | Pinia 中文文档
API请求及异常封装axios
UI框架
 
element-uihttps://element-plus.org/zh-CN/guide/nav.html
ant design vueAnt Design Vue — An enterprise-class UI components based on Ant Design and Vue.js
样式解析、自定义、主题less/sass/scss/stylus
国际化及自动化工具i18n
开发风格统一ESLint + Prettier+提交规范

二、快速构建项目

一)从头开始创建项目

方式1、从头构建 Vue 3 项目

1、使用 Vite

        Vite是目前最推荐的方式来创建 Vue 3 项目,因为它速度快,配置简洁,并且是 Vue 3 的官方推荐工具。

npm create vite@latest my-vue3-project --template vue //创建项目
npm install //安装依赖
npm run dev //运行项目

打开浏览器并访问 `http://localhost:5173`,你将看到一个基本的 Vue 3 应用程序运行。

注意:

        1、若需要使用不同版本node(兼容新旧项目环境),则需要使用nvm来进行node多版本管理,下载nvm-windows并安装。

nvm install 18    # 安装 Node.js 18.x
nvm ls  # 查看当前已安装的 Node.js 版本
nvm use 18    # 切换到 Node.js 18.x

        2、若出现某个依赖安装报错,可以npm install --ignore-scripts,最后再来单独安装报错的依赖。

2、使用 Vue CLI

如果您正在从零开始构建新的 Vue 项目,尤其是基于 Vue 3,Vite 是推荐的选择。

  • Vite 非常适合新项目、需要快速开发和高效构建的大型项目、现代化开发环境。
  • Vue CLI 更适合已经使用 webpack 的旧项目、需要复杂配置或对现有生态非常依赖的项目。

方式2、使用已有的模板/项目

Vitesse:一个开箱即用的 Vue 3 + Vite 模板,集成了 TypeScript、Pinia、Vue Router、国际化支持等。

PanJiaChen/vue-element-admin:基于 Vue 和 Element Plus 构建的后台管理系统,功能丰富且高度可定制。

vueComponent/ant-design-vue-pro:基于 Ant Design Vue 构建的后台管理系统,提供了类似于 Ant Design Pro 的体验。

anncwb/vue-vben-admin:模块化、易扩展,提供丰富的组件和功能,如权限控制、国际化、多标签页、图表等。

二)构建过程问题

1、依赖安装

这个错误表示在使用 pnpm 安装依赖时,尝试从 GitHub 上拉取某个依赖包时遇到了权限问题。具体来说,你的本地机器未正确配置用于 SSH 访问 GitHub 的公钥。以下是如何解决的步骤:

解决方法:

  1. 检查 SSH 密钥是否存在

    • 确保你的本地机器上已配置了 SSH 密钥:

      ls ~/.ssh/id_rsa.pub

    • 如果文件不存在,使用以下命令生成 SSH 密钥:

      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  2. 将 SSH 公钥添加到 GitHub

                cat ~/.ssh/id_rsa.pub

  • 登录 GitHub 并导航到 Settings > SSH and GPG keys
  • 点击 New SSH key,然后粘贴公钥并保存。
  1. 测试 SSH 连接到 GitHub

    • 验证 SSH 是否正常工作:
      ssh -T git@github.com 
    • 如果配置正确,你会看到一条欢迎消息。
  2. 修改 GitHub URL 使用 HTTPS

如果不想使用 SSH,可以将 git URL 改为 HTTPS,以避免使用 SSH 密钥。

git config --global url."https://github.com/".insteadOf "git@github.com:"

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

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

相关文章

74HC245

74HC245:典型的CMOS型缓冲门电路 在这里用于增加电压

BFS 算法专题(三):BFS 解决边权为 1 的最短路问题

目录 1. 迷宫中离入口最近的出口 1.1 算法原理 1.2 算法代码 2. 最小基因变化 ★★★ 2.1 算法原理 2.2 算法代码 3. 单词接龙 3.1 算法原理 3.2 算法代码 4. 为高尔夫比赛砍树 (hard) 4.1 算法原理 4.2 算法代码 1. 迷宫中离入口最近的出口 . - 力扣(…

「数据要素」行业简报|2024.11.上刊

纵观数据要素行业动态,洞察行业风向,把握行业脉搏! 一、政策发布 1、《山东省公共数据资源登记管理工作规范(试行)》公开征求意见 11月7日,为认真贯彻落实《中共中央办公厅 国务院办公厅关于加快公共数据资源开发利用的意见》《…

有什么好用的 WebSocket 调试工具吗?

在开发和测试 WebSocket 应用程序时,确保客户端能够正确地与服务器建立连接、发送和接收消息是非常重要的。 市面上有许多通用的 API 测试工具,它们大多专注于 HTTP 请求,而对于 WebSocket 的支持则显得较为有限。这种局限性使得开发者在寻找…

MQTT协议解析 : 物联网领域的最佳选择

1. MQTT协议概述 1.1 MQTT协议是什么 MQTT : Message Queuing Telemetry Transport 模式 : 发布 / 订阅主题优点 : 代码量小、低带宽、实时可靠应用 : 物联网、小型设备、移动应用MQTT 常用端口 : 1883 MQTT是一个网络协议,和HTTP类似,因为轻量简单&…

鸿蒙HarmonyOS 网络请求获取数据Http

注意的是;要为接口返回值指定类型 ,以及定义接口数据类型 index.ets import { http } from kit.NetworkKit;interface createAtType {date: number,}interface dataListType {createAt: createAtType;imgUrl: }Component export default struct TabBar {State dat…

2024136读书笔记|《飞鸟集》——使生如夏花之绚烂,死如秋叶之静美

2024136读书笔记|《飞鸟集》——使生如夏花之绚烂,死如秋叶之静美 《飞鸟集》[印]泰戈尔,一本有意思的诗集,中英文对照着读更有意思。“你是谁,读者,百年后读着我的诗?”让我觉得有些久别重逢,忽…

ROS Action

在 ROS 中,Action 是一种支持长时间异步任务的通信机制。与 Service 不同,Action 允许客户端发起一个请求,并在任务执行的过程中不断接收反馈,直到任务完成。这种机制非常适用于可能需要较长时间来完成的任务,比如机器…

约束(MYSQL)

not null(非空) unique(唯一) default(默认约束,规定值) 主键约束primary key(非空且唯一) auto_increment(自增类型) 复合主键 check&#xff08…

笔记 | image may have poor performance,or fail,if run via emulation

在Docker Desktop中现象如图: 当你运行 AMD64 平台代码时(Intel 和 AMD 芯),你的 Mac 必须模拟其CPU架构(因为你自身是ARM)。这通常会非常吃性能。 Docker Desktop 警告你在模拟 Intel/AMD x64 CPU 时性能可…

【C++】C++11特性(上)

✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:C 个人主页:Celias blog~ 目录 一、列表初始化 二、std::initializer_list 三、右值引用和移…

24/11/7 算法笔记 PCA主成分分析

假如我们的数据集是n维的,共有m个数据(x,x,...,x)。我们希望将这m个数据的维度从n维降到k维,希望这m个k维的数据集尽可能的代表原始数据集。我们知道数据从n维降到k维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这k维的数据尽可能表…

JS 实现SSE通讯和了解SSE通讯

SSE 介绍: Server-Sent Events(SSE)是一种用于实现服务器向客户端实时推送数据的Web技术。与传统的轮询和长轮询相比,SSE提供了更高效和实时的数据推送机制。 SSE基于HTTP协议,允许服务器将数据以事件流(…

C/C++每日一练:查找链表的中间节点

链表(Linked List) 链表是一种线性数据结构,由一系列节点(Node)通过指针链接在一起。与数组不同,链表中的元素在内存中不需要连续存储,每个节点包含两部分: 数据部分:存…

对称加密与非对称加密:密码学的基石及 RSA 算法详解

对称加密与非对称加密:密码学的基石及 RSA 算法详解 在当今数字化的时代,信息安全至关重要。对称加密和非对称加密作为密码学中的两种基本加密技术,为我们的数据安全提供了强大的保障。本文将深入探讨对称加密和非对称加密的特点、应用场景&…

PH47代码框架全局函数及功能类

PH47代码框架全局函数及功能类 概述 全局函数及功能类体系是PH47框架当中除了4个逻辑层之外最重要的组成部分之一,它们可以在 整个PH7 代码框架及用户代码中使用。常用全局函数及功能类为 PH7 代码框架提供了最常用和最基础的功能实现。 全局函数主要包含了对时间…

力扣 LeetCode 203. 移除链表元素(Day2:链表)

解题思路: 方法一:头节点和非头节点分开处理 方法二:定义一个dummy虚拟节点,后面的节点就可以采用相同的处理方式 注意: cur需要指向要删除的节点的上一个节点,因为要越过这一个被删除的节点 class Sol…

IEC60870-5-104 协议源码架构详细分析

IEC60870-5-104 协议源码架构 前言一、资源三、目录层级一二、目录层级二config/lib60870_config.hdependencies/READMEexamplesCMakeLists.txtcs101_master_balancedcs104_client_asyncmulti_client_servertls_clienttls_server说明 make这些文件的作用是否需要导入这些文件&a…

turbo c 2.0 画螺栓

代码; #include<graphics.h> void bolt(x0,y0,d,l) int x0,y0,d,l; {int x1,x2,x3,x4,x5,x6,x7,x8;int y1,y2,y3,y4,y5,r1,r2,b,c;if(l>2*d) b2*d;else b1;r11.5*d;r20.38*d;c0.1*d;x1x0-0.7*d;x2x0-0.61*d;x3x0-0.32*d;x4x00.8*d;x5x0l-b;x6x0l-c;x7x0l-0.05*d;x8x0…

网络服务综合项目-博客

一、运行环境&#xff1a; 主机主机名系统服务192.168.31.128Server-WebLinuxWeb192.168.31.129Server-NFS-DNSLinuxNFS 二、基础配置&#xff1a; 配置主机名开启防火墙并配置部分开启selinux并配置服务器之间使用ntp.aliyun.com进行时间同步服务器之间实现ssh免密登录 三…