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

news/2025/9/26 22:14:35/文章来源:https://www.cnblogs.com/lxjshuju/p/19110763

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


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

一、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

一个轻量的状态管理库,类似于 Resso 或 Pinia,但在 React 中应用非常方便。就是我还学习了 Valtio,这
它的特点是直接修改 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.mzph.cn/news/916880.shtml

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

相关文章

C#中,EXCEL与表列顺序完全一致情况的导入处理(BeginBinaryImport)

使用:BeginBinaryImport能快速的导入临时表//读取datagridview的值 private string GetCellValue(DataGridViewRow row, string columnName, string defaultValue = "0"){var value = row.Cells[columnName…

Gitee PPM:数据驱动的DevSecOps项目管理新范式

Gitee PPM:数据驱动的DevSecOps项目管理新范式 在数字化转型浪潮下,软件研发团队正面临项目管理效率的"三座大山"——需求与开发脱节、资源调配低效、风险响应滞后。Gitee PPM作为国内领先的DevSecOps平台…

acme.sh:强大的ACME协议Shell脚本,支持多DNS API

acme.sh是一个用Shell编写的ACME协议客户端,支持从Lets Encrypt、ZeroSSL等CA自动签发SSL证书。它提供了丰富的DNS API支持,可以轻松集成各种DNS服务商,实现证书的自动验证和续期,是自动化证书管理的理想工具。acm…

P9545 [湖北省选模拟 2023] 环山危路 / road 题解

显然可以看作竞赛图上的最大流,考虑转化为最小割。 令 \(S\) 为包含 \(s_1,s_2,\dots,s_k\) 但不包含 \(t_i\) 的点集,\(T=\{1,2,\dots,n\}\backslash S\),则代价为 \(\sum_{x\in S}\sum_{y\in T}v_{x,y}\),记为 \…

自适应网站建站价格asp网站后台管理系统源码

目录 一.本文基于上一篇文章keepalived环境来做的,主机信息如下 二.为两台虚拟机准备添加一块新硬盘设备 三.安装drbd9 1.使用扩展源的rpm包来下载 2.创建资源并挂载到新增的硬盘 3.主设备升级身份 4.主备两个设备手动切换身份演示 四.安装配置nfs 五.安装…

c语言经典课程资料

c语言经典课程资料 字节大佬终于把这套C语言教程整理成了动画片 https://www.bilibili.com/video/BV1NAtZeNEHf/?spm_id_from=333.1387.homepage.video_card.click

k8s 兼容寒武纪 - 教程

k8s 兼容寒武纪 - 教程2025-09-25 10:49 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

探秘圆周率 π:圆周率计算在线工具

# 探秘圆周率π:从基础定义到超级计算的无限魅力 在数学的浩瀚星空中,圆周率π无疑是一颗闪耀着独特光芒的恒星。它不仅是连接圆的周长与直径的关键桥梁,更是一个充满神秘色彩、引无数数学家为之倾倒的无理数。今天…

注意力机制下的位置编码的理解和梳理

注意力机制下的位置编码的理解和梳理位置编码的理解和梳理 引言 Transformer的悖论 自2017年横空出世以来,Transformer架构已然成为序列建模领域的一场革命,因其卓越的并行计算能力和捕捉全局依赖的强大性能而备受赞…

以史为鉴【长期置顶】

本文将记录我在OI中一些典型、极难察觉、犯过不止一次的细节或非细节错误,并作为唯一(大概率)置顶、长期置顶,以备随时查看。遇事不决先看看数组开小了没。对于一些需要判无解且多测的题目,一定要读完所有数据再判…

java21学习笔记-未命名的模式和变量 - 指南

java21学习笔记-未命名的模式和变量 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

石家庄网站建设外贸做网站建设的怎么拓展业务

135编辑器1李磊:磊,假期过的可好?有没有人在写作业呀?通过这段时间的学习,可以看得出你对我们的课程兴趣浓厚,尤其是scratch,自己做了好多的案例,之前还以为你们都是从网上直接下载的…

达梦数据库DM-查询指定模式下表的大小

需求:需要查一个模式下所有表的大小,以MB为单位: sql: SELECT * FROM (SELECT OWNER,TABLE_NAME,TABLE_USED_SPACE(OWNER,TABLE_NAME)*PAGE()/1024/1024.0 AS "MB"FROM SYS.ALL_TABLESWHERE OW…

【笔记】Prfer 序列

Prfer 序列和 Cayley 公式之前的版本 观前提示:可以用 alt+0252 打出来 这个字符喵 1. 对树建立 Prfer 序列 \(\rm Def.\) Prfer 序列的构建如下: 每次选择树中编号最小的叶节点并删去它,并在一个初始为空的序列末…

win11 无线投屏(Miracast:)引发的思考附带解决方案 - Popeye

这个功能想必大家使用的情况很多,比如平板或手机投屏到电脑上,实现多屏设备的统一管理。 就这个功能自己几次更新后,被系统给屏蔽了,并提示出了红色字体。静止使用。 一般出现这个问题后解决思路有以下几个方向 1.…

2025年十大主流项目管理工具评测:功能覆盖与成本效益分析

2025年项目管理工具市场正经历技术革新与功能升级的关键阶段,企业面临众多选择却难以快速匹配需求。本文从功能覆盖度、团队适配性、成本效益三大核心维度,横向评测禅道、Asana、Trello、Jira、ClickUp、Monday.com、…

关于服装店网站建设的策划方案温州seo公司

前言 在服务器的VMWARE ESXi系统环境中,我们经常需要创建虚拟机来运行各种应用程序。然而,服务器如果偶尔出现自动重启以及紫屏报错的问题,说明服务器内部出现了故障,一般情况下重启机器能够解决问题,但时间一长&…

完整教程:服务器磁盘空间满了怎么办?阿里云ECS清理与云盘扩容教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

航空总医院医院网站建设招标网站全国企业公示网查询官网

目录 1. 数据采集 2. 图像标注 3. 开源已标记数据集 4. 数据集划分 参考: 1. 数据采集 数据采集是深度学习和人工智能任务中至关重要的一步,它为模型提供了必要的训练样本和测试数据。在实际应用中,数据采集的方法多种多样,每…

分布式专题——19 Zookeeper分布式一致性协议ZAB源码剖析 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …