从一个Vite Vue项目开始 - 整体设计

embedded/2024/9/22 16:03:15/

本篇我们将从一个基础的Vite项目开始,构建开发环境并介绍我们的整体设计思路

  • 从一个Vite Vue项目开始
  • 项目的整体设计
  • 小结

从一个Vite Vue项目开始

vite 是一个新型的前端构建工具,能够显著的提升前端的开发构建效率,经过几年的发展逐渐的完善和稳定。组件库将以 vite 进行开发构建:

创建一个Vue项目,按照提示选择 VueTypescript 即可,其他均为默认配置

yarn create vite

为了开发方便,我们需要简单调整一下项目的配置,设置路径的别名

项目的组件内容我们将放到 src/vscode 目录进行开发,为了资源引入方便,将设置路径别名 vscode 指代 src/vscode 这个路径

// tsconfig.app.json
{"compilerOptions": {// ..."paths": {"vscode/*": ["./src/vscode/*"],"@/*": ["./src/*"]},// ...}
}

同时为vite配置路径别名,才能在编译运行时正确解析路径:

// vite.config.ts
export default defineConfig({// ...resolve: {alias: {vscode: path.resolve(__dirname, "./src/vscode"),"@": path.resolve(__dirname, "./src"),},},// ...
})

安装项目基础依赖

yarn add monaco-editor less @vueuse/core

至此我们一个简单的项目结构就创建好了,最后我们整个项目的结构如下所示:

├─src
│  ├─vscode 组件库开发目录
│  │  ├─index.ts
│  ├─assets
|  ├─App.vue
|  ├─main.ts
|  ├─style.css
|  ├─vite-env.d.ts
├─index.html
├─package.json
├─tsconfig.app.json
├─tsconfig.node.json
├─tsconfig.json
├─vite.config.ts

项目的整体设计

  • 为了项目结构的简单性和扩展性,项目将采用数据视图独立的模式,通过响应式Store 控制页面数据和逻辑处理,Vue组件主要负责Store 数据的渲染。
  • 同时将对组件设计进行拆分,包括文件树组件, 文件Tab组件编辑器组件, 依赖安装组件, 搜索组件等,这样能够让组件的使用是可插拔的,通过一个全局的上下文组件进行初始化和数据控制。
  • 采用面向接口编程,通过TS接口定义,对项目Store 类设计进行抽象,使得项目的开发思路更加清晰;将抽象出文件管理接口编辑器控制接口, 搜索控制接口

组件库整体结构如下图所示:

在这里插入图片描述

小结

这篇文章主要接受项目的基础技术选型并搭建一个简单的开发环境;同时介绍了项目的整体结构设计和设计原因;

大家有任何技术问题欢迎下方提问,我会尽快为大家解答.


http://www.ppmy.cn/embedded/115119.html

相关文章

家居小程序有什么用?

家居小程序在现代家居生活中扮演着越来越重要的角色,其功能和用途广泛且实用。以下是家居小程序的主要用途: 一、商品展示与购物 商品展示:家居小程序可以展示各种家居产品,包括家具、家电、装饰品等,用户可以通过分类…

深入理解指针(5)

目录 1. sizeof和strlen 的对比 2. 数组和指针笔试题解析 3 . 指针运算笔试题解析 ——————————————————————————————————————————— 1.sizeof和strlen的对比 1.1sizeof sizeof计算变量所占内存内存空间大小的,单位是…

新产品,推出 MLX90372GVS 第三代 Triaxis® 位置传感器 IC,适用于汽车和工业系统(MLX90372GVS-ACE-308)

Triaxis 旋转和线性位置传感器IC: MLX90372GVS-ACE-103 MLX90372GVS-ACE-108 MLX90372GVS-ACE-301 MLX90372GVS-ACE-200 MLX90372GVS-ACE-208 MLX90372GVS-ACE-303 MLX90372GVS-ACE-300 MLX90372GVS-ACE-350 MLX90372GVS-ACE-100 MLX90372GVS-ACE-101 MLX90372GVS-…

【STL】 set 与 multiset:基础、操作与应用

在 C 标准库中&#xff0c;set 和 multiset 是两个非常常见的关联容器&#xff0c;主要用于存储和管理具有一定规则的数据集合。本文将详细讲解如何使用这两个容器&#xff0c;并结合实例代码&#xff0c;分析其操作和特性。 0.基础操作概览 0.1.构造&#xff1a; set<T&…

110个oracle常用函数总结

110个oracle常用函数总结 1. ascii 返回与指定的字符对应的十进制数; sql> select ascii(a) a,ascii(a) a,ascii(0) zero,ascii( ) space from dual; a a zero space --------- --------- --------- --------- 65 97 48 32 2. chr 给出整数,返回对应的字符; sql>…

QT开发: Qt 框架中字符串核心类QString详解

QString 是 Qt 框架中用于处理和操作文本字符串的核心类。QString 提供了一系列强大且高效的方法来创建、操作和管理 Unicode 字符串。以下是对 QString 类的深入详解&#xff0c;包括其主要功能、常用方法和示例代码等。 1. QString 的基本概念 QString 是一个用于表示和操作…

tomcat的Catalinalog和localhostlog乱码

找到tomcat安装目录的loging文件 乱码这两个由UTF-8改为GBK

学习IEC 62055付费系统标准

1.IEC 62055 国际标准 IEC 62055 是目前关于付费系统的唯一国际标准&#xff0c;涵盖了付费系统、CIS 用户信息系统、售电系统、传输介质、数据传输标准、预付费电能表以及接口标准等内容。 IEC 62055-21 标准化架构IEC 62055-31 1 级和 2 级有功预付费电能表IEC 62055-41 STS…