当前位置: 首页 > article >正文

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

本篇我们将从一个基础的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.kler.cn/a/319843.html

相关文章:

  • python 2小时学会八股文-数据结构
  • LlamaIndex
  • 微信小程序中使用离线版阿里云矢量图标
  • 软件工程师简历(精选篇)
  • 设计模式练习(一) 单例模式
  • Ruby编程语言全景解析:从基础到进阶
  • 软件设计模式——工厂模式
  • 招行科技笔试——合并区间,移动零
  • 加入AI新引擎,华为数据中台全面智能化升级
  • Java 发布jar包到maven中央仓库(2024年9月保姆级教程)
  • PPTP、L2TP、SSTP协议和HTTP、SOCKS5代理:全面解析与对比
  • Kafka-Manager安装及操作
  • Linux文件IO-基础知识了解及文件描述符
  • 模拟自然的本质:与IBM量子计算研究的问答
  • 函数组件、Hooks和类组件区别
  • 使用php生成图片
  • 第 1 章:Vue 核心
  • Spring Boot 入门指南
  • C++ 字符串中的第一个唯一字符 - 力扣(LeetCode)
  • linux固定串口别名
  • Java发送Outlook邮件:从设置到发送攻略!
  • Qt 每日面试题 -3
  • mysql学习教程,从入门到精通,SQL FULL JOIN 语句(25)
  • mysql离线脚本安装
  • 【C++算法】哈希表
  • vs2022 程序包管理器控制台中文乱码