摘要: 背景 在一个平凡的工作日中,突然有客户说我们产品的弹窗点击无法显示,这让我立刻放下了手里的活,去看了下线上环境,结果却是一切正常 这不禁让我有些奇怪,所以和客户要了截屏,最后发现在客户的电脑上点击无效,作为一个老开发,第一反应就是兼容性的问题 涉及到公司产品,暂时不能放出对应截图,不过会用 demo 阅读全文
posted @ 2025-06-25 20:51 Grewer 阅读(17) 评论(0) 推荐(0)
摘要: 在工作中,树形选择器(tree-select)是一种常见的基础组件, 这次我们针对此组件做一些业务适配 背景: 在一个大型组织(2 万以上)内,需要有一个选择人、组的一个选择器, 支持搜索功能。 一开始我的思路是这样: 层级加载+后端搜索 既然数据量很多,那最好不要一次性加载,不然会有以下的一些问题 阅读全文
posted @ 2025-06-25 20:39 Grewer 阅读(47) 评论(0) 推荐(0)
摘要: 本文中的微前端基于 qiankun 框架 多个子应用共存 如果需要多个子应用同时共存,在管理就有很多例子: https://qiankun.umijs.org/zh/faq#如何同时激活两个微应用 registerMicroApps([ // 自定义 activeRule { name: 'reac 阅读全文
posted @ 2024-12-18 20:28 Grewer 阅读(268) 评论(0) 推荐(0)
摘要: 本文主要针对实际工作中的场景,来介绍 ts 的使用 复用函数的类型 在定义好一个函数之后, 如 function foo(params: {id: number; name: string}): {count:number;}[]{ // 省略... return [{count:1}]; } 在 阅读全文
posted @ 2024-12-18 20:12 Grewer 阅读(33) 评论(0) 推荐(0)
摘要: 前言 本文主要记录个人在使用 typescript 时的一些用法,介绍 typescript 。建议在阅读前先了解 typescript 的基础语法。 互斥键的类型 在 ts 官网的联合类型文档中有这样一种情况: type Shape = | { kind: "circle"; radius: nu 阅读全文
posted @ 2024-07-03 19:44 Grewer 阅读(64) 评论(0) 推荐(0)
摘要: 前言 以前学习了算法,但是因为没有记录下来,最近又要重新开始学习了,这次就将我的学习经历汇总成文章,记录下来。 科萨拉朱算法(英语:Kosaraju's algorithm),也被称为科萨拉朱—夏尔算法,是一个在线性时间内寻找一个有向图中的强连通分量的算法。 首先我们需要知道几个概念 有向图 边为有 阅读全文
posted @ 2024-02-27 02:16 Grewer 阅读(958) 评论(0) 推荐(0)
摘要: 环境搭建 这里先说下我的环境, 这是代码运行的前提。 系统: Mac Monterey 12.6.8 Xcode: 14.2 Python: 3.11.6 (不要使用 2.x 版本!) 建议全程指令都在FQ工具下进行 由源码构建 V8 首先我们需要一个工具 depot_tools 执行指令克隆,这里 阅读全文
posted @ 2024-01-17 01:57 Grewer 阅读(680) 评论(0) 推荐(0)
摘要: 关于 V8 我想前端从业人员或多或少会听说过这个词,但是他具体是什么, 怎么入门, 怎么学习是一个较高的门槛,本文就 V8 入门,来做一个记录,也方便大家的学习。 V8 是 Google 用 C++ 编写的开源高性能 JavaScript 和 WebAssembly 引擎。它被用于 Chrome 浏 阅读全文
posted @ 2023-12-13 01:52 Grewer 阅读(338) 评论(0) 推荐(0)
摘要: 微前端简介 Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features independently. -- Micro Frontends 前端 阅读全文
posted @ 2023-10-23 01:03 Grewer 阅读(389) 评论(0) 推荐(0)
摘要: 前言 在大型项目中,微前端是一种常见的优化手段,本文就微前端中沙箱的机制及原理,作一下讲解。 首先什么是微前端 Techniques, strategies and recipes for building a modern web app with multiple teams that can 阅读全文
posted @ 2023-09-17 19:55 Grewer 阅读(409) 评论(0) 推荐(0)
摘要: 在 `quill.js` 中,扩展性最强大的功能就是插件 本文主要以一个图片扩展的插件来介绍 `quill` 插件开发 在 `quill.js` 中他有着自己的名字: `Modules`,而他也内置了 5 种插件: - TOOLBAR - KEYBOARD - HISTORY - CLIPBOARD 阅读全文
posted @ 2023-08-14 01:36 Grewer 阅读(2116) 评论(0) 推荐(0)
摘要: ## 前言 导致白屏的原因大概有两种,一为资源的加载,二为 JS 执行出错 本文就 JS 中执行的报错,会比较容易造成"**白屏**"场景,和能解决这些问题的一些方法,作出一个汇总 ## 常见的错误 ### SyntaxError > **`SyntaxError`**(语法错误)对象代表尝试解析不 阅读全文
posted @ 2023-07-11 01:49 Grewer 阅读(728) 评论(0) 推荐(0)
摘要: ## 前言 之前开发重构项目的时候,遇到了一些问题, 如 `hooks` 的性能问题和 `quill` 的重载问题。本文就是记录这些问题的解决过程。 ## 场景 在基于富文本的输入场景中,我们发现在输入回车后会出现明显的卡顿现象。为了更好地展示此类场景,这里使用了一个简单的例子展示。 ```tsx 阅读全文
posted @ 2023-05-25 01:35 Grewer 阅读(108) 评论(0) 推荐(1)
摘要: ## 前言 鉴于各种繁杂的需求,`quill.js` 编辑器也面临着各种挑战,例如我们需要添加“table”布局样式以适应邮件发送格式,手动扩展表情符号功能等等。本文将对这些可定制化功能进行讲解和实现。 ## 区分 format 和 module 首先需要明确的是,我们应该清楚自己所需的扩展具体是什 阅读全文
posted @ 2023-05-25 01:22 Grewer 阅读(2838) 评论(0) 推荐(2)
摘要: 什么是 module Federation module Federation(下面简称 MF) 是 webpack5 推出的最新的概念 有用过 webpack 的小伙伴都知道, 在我们打包时, 都会对资源进行分包, 或者使用异步加载路由的方案, 这样打出来的包(也叫 chunk), 在我们使用时, 阅读全文
posted @ 2023-03-26 22:13 Grewer 阅读(701) 评论(0) 推荐(0)