搭建一个vue3+vite框架
可以使用以下两种搭建方式
通过create-vue搭建vue3 项目(建议使用)
create-vue
create-vue 是 Vue.js 官方推荐的用于快速启动 Vite 驱动的 Vue 项目的脚手架工具。它简化了创建新 Vue 项目的过程,提供了预配置的项目结构,并集成了 Vite 的强大功能,使得开发者能够快速上手并开始开发。create-vue 是 Vue3 的专用脚手架
create-vue 的主要特点包括:
基于 Vite:利用 Vite 的快速启动和热模块替换(HMR)功能,提供极佳的开发体验。
预配置:根据用户选择的功能自动生成项目结构,减少手动配置的繁琐。
兼容 Vue 2 和 Vue 3:支持创建 Vue 2 和 Vue 3 项目,满足不同版本的需求。
搭建一个 Vite 项目
Vite(法语意为 "快速的",发音 /vit/,发音同 "veet")是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:
一个开发服务器,它基于原生 ES 模块,提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。
一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。
Vite 意在提供开箱即用的配置,同时它的 插件 API 和 JavaScript API 带来了高度的可扩展性,并有完整的类型支持vite 不仅可以创建 vue 的项目,而且可以创建 react 等项目,只是需要手动安装第三方插件
补充:
vue-cli
vue-cli 是 Vue 早期推出的一款脚手架,使用 webpack 创建 Vue 项目,可以选择安装需要的各种插件,比如 Vuex、VueRouter等。
webpack
webpack core 是一个纯打包工具,常用npm run build
项目框架
my-vue3-project/
├── public/ # 静态资源文件夹,其中的文件会直接复制到构建输出目录中,无需经过编译处理
│ ├── favicon.ico # 网站图标
│ └── index.html # 应用程序入口HTML文件,Vue应用将挂载于此文件中的特定元素上├── src/
│ ├── assets/ # 静态资源目录,包含图片、字体等未经过webpack编译的文件,可使用import导入并在构建时进行处理
│ ├── components/ # 组件目录,按照功能或类别划分存放单文件组件(.vue文件)
│ │ ├── Common/ # 公共组件目录
│ │ ├── Layout/ # 布局组件目录
│ │ └── ... # 其他分类组件目录
│ ├── directives/ # 自定义指令目录,存放Vue自定义指令实现
│ ├── hooks/ # Vue Composition API 的自定义 Hooks 目录,用于组织和复用可组合的逻辑单元
│ ├── layouts/ # 应用布局相关的组件存放处,例如通用页面布局组件
│ │ ├── AppLayout.vue
│ │ └── ... # 其他布局相关页面组件
│ ├── pages/ # 页面组件目录,根据功能模块划分不同页面组件
│ │ ├── Home/ # 主页或首页相关页面组件
│ │ │ ├── Index.vue
│ │ │ └── ...
│ │ ├── User/ # 用户管理相关的页面组件
│ │ │ ├── Profile.vue
│ │ │ ├── Settings.vue
│ │ │ └── ...
│ │ ├── Product/ # 产品管理相关的页面组件
│ │ │ ├── List.vue
│ │ │ ├── Detail.vue
│ │ │ └── ...
│ │ └── ... # 其他功能模块的页面组件目录
│ ├── plugins/ # Vue 插件配置目录,存放全局注册的插件及其配置
│ ├── router/ # 路由配置目录,主要包含index.js路由文件,用于配置应用程序的路由规则
│ ├── store/ # Vuex 状态管理目录,用于集中管理组件状态和数据流
│ ├── styles/ # 样式文件目录,包括全局样式、主题样式等
│ ├── utils/ # 工具函数和类库目录,存放项目中常用的工具函数、辅助类等
│ ├── App.vue # 应用程序根组件,整个应用的入口点,通常包含路由视图和其他全局共享组件
│ ├── main.ts # 应用程序入口脚本,用于初始化Vue实例、引入并配置路由、状态管理等核心模块
│ └── shims-vue.d.ts # TypeScript 类型声明文件,为Vue相关API提供类型支持├── tests/ # 测试相关文件目录,存放单元测试、集成测试等代码
├── .env.* # 环境变量配置文件,根据不同环境如开发、生产等设置不同的环境变量
├── .eslintrc.js # Eslint 配置文件,用于定义项目的代码风格规范和错误检查规则
├── .gitignore # Git 忽略文件,列出不需要添加到版本控制的文件或目录
├── package-lock.json # npm 包管理器中用于锁定项目依赖版本的文件
├── package.json # npm 包配置文件,包括项目依赖、脚本命令、项目信息等元数据
├── vite.config.ts # Vite 构建工具的配置文件,用于定制Vite的构建行为(如果使用Vite构建系统)
├── README.md # 项目文档和说明文件,介绍项目结构、启动方式及注意事项等
├── tsconfig.json # TypeScript 项目的核心配置文件,用于指定编译选项、包含的源文件、排除的文件等信息
├── tsconfig.node.json # 针对 Node.js 应用程序进行更细粒度的 TypeScript 编译设置
├── .prettierrc # Prettier 代码格式化配置文件,定义代码格式化规则
├── .ls-lint.yml # Linting 规则配置文件,例如针对Less预处理器的代码风格检查规则
└── changelog.md # 更新日志文件,记录项目的版本迭代和更新内容
引用(vue3目录结构详细说明及文件命名规范_vue3目录结构解析-CSDN博客)
相关文章:

搭建一个vue3+vite框架
可以使用以下两种搭建方式 通过create-vue搭建vue3 项目(建议使用) create-vue create-vue 是 Vue.js 官方推荐的用于快速启动 Vite 驱动的 Vue 项目的脚手架工具。它简化了创建新 Vue 项目的过程,提供了预配置的项目结构,并集…...

【含文档】基于Springboot+Vue的公交管理系统(含源码+数据库+lw)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…...
自闭症儿童能否适应学校生活:提供专业辅助,助力顺利融入
自闭症,这一复杂的神经发育障碍,往往让许多家庭在孩子的教育问题上倍感焦虑。面对即将步入学校生活的自闭症儿童,家长们不禁要问:他们能否适应学校生活?如何帮助他们顺利融入?幸运的是,随着医疗…...

MQTTnet.Server同时支持mqtt及websocket协议
Net6后写法 Net6前写法 Program.cs using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using MQTTnet.AspNetCore; using System; using System.IO;namespace MQTTnet.Server {public class Program{publ…...

【数据结构】二叉树(一)遍历
导言 前面以及有了堆的基础,现在来学习二叉树。二叉树的学习和前面的数据结构很不一样,前面我们主要学习用数据结构储存数据,以及实际手搓数据结构的增删查改;而学习二叉树主要是为我们以后学搜索二叉树以及后面的AVL树等数据结构…...

【C++ 贪心】1616. 分割两个字符串得到回文串|1868
本文涉及知识点 C贪心 LeetCode1616. 分割两个字符串得到回文串 给你两个字符串 a 和 b ,它们长度相同。请你选择一个下标,将两个字符串都在 相同的下标 分割开。由 a 可以得到两个字符串: aprefix 和 asuffix ,满足 a aprefi…...

识别秒拨风险的具体方法及策略
秒拨技术是利用家用宽带拨号上网(PPPoE)的特性,通过频繁断线重连来获取新的IP地址,从而构建代理服务或进行其他网络活动。这种技术使得IP地址的切换频率极高,加大了识别和追踪的难度。因此,首先需要对秒拨技…...
[Python]如何在Ubuntu中建置python venv虛擬環境,並安裝TensorFlow和OpenCV函式庫?
為了在樹莓派上實現物件影像辨識功能,同時不影響樹莓派原來的python運行環境,選擇建置python虛擬環境[Note1]是一個好方式,其可避免版本衝突和不同運行環境的問題。另外,一併在該虛擬環境中安裝TensorFlow[Note2]和OpenCV[Note3]等…...
Excel:Cells(Rows.Count, 1).End(xlUp).Row和Cells(Rows.Count, 1).End(xlUp)有什么区别
Cells(Rows.Count, 1).End(xlUp).Row 和 Cells(Rows.Count, 1).End(xlUp) 是 VBA 中用于定位 Excel 工作表中单元格的两种不同用法。以下是它们的区别: 1. Cells(Rows.Count, 1).End(xlUp).Row 功能: 这个表达式返回的是一个行号(Long 类型)…...

E. Count Paths
题目 题解: #include <bits/stdc.h>#define forn(i, n) for (int i 0; i < int(n); i)using namespace std;int n; vector<int> a; vector<vector<int>> g;long long ans; vector<map<int, int>> cnt;void dfs(int v, int …...
集合论(ZFC)之良创关系(Well-Founded Relation)
定义在集合S中的一个二元关系(Binary Relation)记,<,有(S,<)。如果对于集合S的任意非空子集,都存在关系(<)下的最小元素,那么该关系&…...

centos 安装达梦数据库
一、环境准备 1.1、确认操作系统的版本和数据库的版本是否一致 ## 查看系统版本:cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)1.2、关闭防火墙和Selinux # 查看selinux是不是disabled / enforce cat /etc/selinux/config## 查看防火墙状态 fir…...

《Windows PE》6.4.1 无 DLL远程注入
本节我们将演示如何实现远程注入的两种不同方案。方案一选择远程注入代码和数据,方案二选择远程注入DLL。 本节必须掌握的知识点: 无DLL远程注入 远程注入DLL 6.4.1 无DLL远程注入 实验四十五:无DLL远程注入(C语言实现…...

浙大数据结构:10-排序6 Sort with Swap(0, i)
这道题用了数环的思想,MOOC最后视频中也有相关介绍,思想还是很巧妙的 机翻 1、思想 2、 主函数 先把数据存进来,然后从头开始遍历,如果该位置数不对则anwser,然后遍历整个环,一直加anwser,如…...

基于vue框架的的爱心捐赠物资信息系统85gsu(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
系统程序文件列表 项目功能:用户,爱心项目,捐赠类型,捐赠,积分兑换,兑换,捐赠名录,捐赠去向 开题报告内容 基于Vue框架的爱心捐赠物资信息系统开题报告 一、研究背景与意义 随着社会的发展和人们生活水平的提高,爱心捐赠活动逐渐成为连接捐赠者与受赠…...
AI对抗AI:如何应对自动化攻击新时代?
在当今这个生成式AI迅猛发展的时代,自动化攻击的威胁日益加剧。 在人工智能浪潮下,如何利用AI对抗AI,从而实现全方位的网络安全防护? 一、AI浪潮下,自动化攻击加剧 AI技术的发展既带来了前所未有的挑战,也…...
【微服务】微服务注册:构建灵活的服务管理机制
目录 引言一、什么是微服务注册?1.1 服务注册中心的作用1.2 服务注册中心的工作原理1.3 示意图 二、常见的微服务注册中心2.1 各注册中心详细对比 三、微服务注册的实现方式3.1 Spring Cloud Netflix Eureka3.2 Consul3.3 Zookeeper3.4 etcd 四、微服务注册的注意事…...
AsyncTask的工作原理和缺陷
AsyncTask的工作原理及其缺陷 AsyncTask是Android平台提供的一个轻量级的异步任务类,它允许开发者在后台线程中执行耗时操作,并在操作完成后将结果回调到主线程以更新UI。AsyncTask内部封装了线程池和Handler机制,简化了多线程编程的复杂性。…...
【React】事件绑定的方式
1. 内联函数绑定 这是最简单直接的方式,即在 JSX 语法中直接传递一个内联函数。这种方式每次渲染时都会创建新的函数实例,可能会导致不必要的性能开销。 class MyComponent extends React.Component {render() {return (<button onClick{() > th…...

Android ImageView scaleType使用
目录 一、src设置图片资源 二、scaleType设置图片缩放类型 三、scaleType具体表现 matrix: fitXY: fitStart: fitCenter: fitEnd: Center: centerCrop: centerInside: 控制ImageView和图片的大小保持一致…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...
Easy Excel
Easy Excel 一、依赖引入二、基本使用1. 定义实体类(导入/导出共用)2. 写 Excel3. 读 Excel 三、常用注解说明(完整列表)四、进阶:自定义转换器(Converter) 其它自定义转换器没生效 Easy Excel在…...

Go 语言中的内置运算符
1. 算术运算符 注意: (自增)和--(自减)在 Go 语言中是单独的语句,并不是运算符。 package mainimport "fmt"func main() {fmt.Println("103", 103) // 13fmt.Println("10-3…...