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

《前端学习总结:GitLab、状态管理、组件库与 Umi.js》

        之前的公司离职之后,现在来到了一家新的公司,氛围很不错,至少能沉浸式学习,毕竟是实习,归根到底还是自学,以及接触真实的项目。


今天的前端学习收获很大,我总结了一下几个方面的知识。

一、GitLab 代码提取与分支管理

        我学习了 GitLab 的基础流程,包括如何通过 Personal Access Token 提取项目代码、如何在本地创建开发分支、推送到远程 dev 分支,以及如何合并到 main 分支。
具体流程如下:

  1. 初始化本地项目的git仓库 git init 。

  2. 添加远程仓库地址  git remote add origin 你的仓库地址。

  3. 提交本地代码添加到提交区 git add . (提交所有的代码文件【除了屏蔽的不需要提交的】)。

  4. 将提交的代码放到暂存区等待推送 git commit -m "init 初始化第一次提交"。

  5. 需要切换分支到dev (直接推main分支不“合法”) git checkout -b dev。

  6. 推送到dev分支 git push -u origin dev (-u建立追踪关系 下次提交可以直接git push)

  7. 第一次提交需要登录,需要设置token(个人资料里面设置访问令牌),之后账户名称就写自己的,然后密码就复制访问令牌。

  8. gitlab上发起合并,dev合并到main然后删除dev(这里删除是远程删除)

  9. 本地删除dev分支 git branch -d dev 远程删除 git push origin --delete dev

这个流程保证了多人协作时代码管理的规范性和安全性。


二、状态管理库 Valtio

        我还学习了 Valtio,这是一个轻量的状态管理库,类似于 Resso 或 Pinia,但在 React 中使用非常方便。
它的特点是直接修改 state 就可以自动更新 UI,无需额外的 dispatch 或 reducer。
举个简单例子,我创建了一个计数器,直接修改 state.count 就可以触发组件重新渲染,非常直观。

        相比传统 Redux,Valtio 的代码更少,逻辑也更清晰,适合小型到中型项目的全局状态管理。

        简单的代码练习(这里就不使用ts了)。

        

        首先很简单的用proxy创建store配置对象,然后我们这里在对象里面直接设置我们的状态以及操作状态的方法,这里用的store.name,也可以用this。

        使用也是用useSnapshot这个api获取store对象,然后直接调用方法和状态就可以了。注意用api获取对象中的数据是只读的,不可以直接更改。


三、组件库依赖

在开发项目中,我还了解了组件库的依赖工具:

  • url-parse:用于解析 URL,方便处理路由或参数。

  • stylelint:CSS/LESS 代码规范检测工具,可以保证样式整洁统一。

  • father:组件库构建工具,负责生成可发布的组件包。

  • dumi:文档站生成工具,可以根据 Markdown 文件自动生成文档和组件 Demo,非常适合 UI 组件库开发。

通过这些工具,可以搭建完整的组件库开发、打包、文档和预览流程。


四、React 框架:Umi.js

我还了解了 Umi.js,它是一个企业级 React 框架,不同于基础的 Create React App。用于业务项目,后台管理项目,核心目标,快速搭建,管理复杂,前端应用。
主要特点包括:

  • 路由管理:支持约定式路由和配置式路由。

  • 插件化:可以集成权限管理、国际化、微前端等功能。

  • 构建优化:内置 Webpack,支持按需加载、SSR 等。

  • 支持ts

  • 强大的插件系统,支持各种功能(antd)等

相比 CRA,Umi.js 更适合中大型业务项目,可以让项目结构更规范,开发效率更高。

路由的简单使用案例。

        目录的名称是固定的,这样更方便开发,比如layout会自动做为布局组件,这样在声明路由的时候,如果不添加熟悉layout false就会成为layout组件的子组件。

        除了layout组件为独立页面,其他的页面都是默认被layout包裹的组件,这里index:true是默认展示index组件。


五、总结

今天的学习让我对前端项目的整体流程有了更加清晰的认识:

  1. Git 分支管理和多人协作流程。

  2. 轻量状态管理 Valtio 的简单使用。

  3. UI 组件库的依赖工具和构建流程。

  4. dumi 文档站生成机制和使用方式。

  5. Umi.js 企业级框架特点。

这些知识点串联起来,可以让我更快速上手公司的前端项目,也对后续深入学习和开发提供了清晰思路。

http://www.dtcms.com/a/395681.html

相关文章:

  • 【论文阅读】理解世界还是预测未来?—— 世界模型全面综述
  • AR眼镜:远程协作与精准操作的未来之眼
  • 【论文阅读】GR-2:用于机器人操作的生成式视频-语言-动作模型
  • maven GAVP 的含义
  • 【Android】录制视频
  • RK3576-Android15_Usb白名单功能实现篇二
  • Spring中使用Apache Http客户端调第三方系统接口临时查看请求体参数
  • Linux系统-debian系的软件包管理
  • PCB工艺中的深微孔
  • 关于Pycharm中在运行出现语法错误:Non-UTF-8 code starting with
  • 构建AI智能体:四十一、大模型思维链提示工程:技术原理与行业应用案例分析
  • 鸿蒙系统中音视频的采集与播放
  • HTTPS 双向认证抓包实战,原理、难点、工具与可操作的排查流程
  • 开源跨平台文件管理工具,告别杂乱无章的数据世界
  • Node.js事件循环机制
  • Linux---文件系统
  • 循环语句效率与规范的原理及示例解析
  • Three.js 开发实战教程(四):相机系统全解析与多视角控制
  • 介绍一下SQLite的基本语法和常用命令
  • 台式电脑如何恢复出厂设置?Win10 强制重置详细教程
  • 李宏毅2023机器学习作业 HW02实操
  • 【C++实战㉜】深入C++动态内存分配:从理论到实战的进阶之路
  • 小鼠抗新冠病毒N蛋白IgG亚型抗体ELISA检测试剂盒
  • 安防监控中常见的报警类型有哪些?国标GB28181平台EasyGBS的报警能力解析
  • C++ 中 size_t 的用(用于跨平台编译)
  • C++ 拷贝构造函数调用时机
  • 手机镜头参数介绍
  • 区块链技术之《(1)—概述》
  • 复盘与导出工具最新版V31.0版本更新---彻底修复卡死闪退bug,盘中实时丝滑
  • 深入理解JVM类加载与垃圾回收机制