随笔分类 -  js

about js
摘要:关于 V8 我想前端从业人员或多或少会听说过这个词,但是他具体是什么, 怎么入门, 怎么学习是一个较高的门槛,本文就 V8 入门,来做一个记录,也方便大家的学习。 V8 是 Google 用 C++ 编写的开源高性能 JavaScript 和 WebAssembly 引擎。它被用于 Chrome 浏 阅读全文
posted @ 2023-12-13 01:52 Grewer 阅读(160) 评论(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 阅读(276) 评论(0) 推荐(0) 编辑
摘要:前言 在大型项目中,微前端是一种常见的优化手段,本文就微前端中沙箱的机制及原理,作一下讲解。 首先什么是微前端 Techniques, strategies and recipes for building a modern web app with multiple teams that can 阅读全文
posted @ 2023-09-17 19:55 Grewer 阅读(307) 评论(0) 推荐(0) 编辑
摘要:在 `quill.js` 中,扩展性最强大的功能就是插件 本文主要以一个图片扩展的插件来介绍 `quill` 插件开发 在 `quill.js` 中他有着自己的名字: `Modules`,而他也内置了 5 种插件: - TOOLBAR - KEYBOARD - HISTORY - CLIPBOARD 阅读全文
posted @ 2023-08-14 01:36 Grewer 阅读(1262) 评论(0) 推荐(0) 编辑
摘要:## 前言 之前开发重构项目的时候,遇到了一些问题, 如 `hooks` 的性能问题和 `quill` 的重载问题。本文就是记录这些问题的解决过程。 ## 场景 在基于富文本的输入场景中,我们发现在输入回车后会出现明显的卡顿现象。为了更好地展示此类场景,这里使用了一个简单的例子展示。 ```tsx 阅读全文
posted @ 2023-05-25 01:35 Grewer 阅读(93) 评论(0) 推荐(1) 编辑
摘要:## 前言 鉴于各种繁杂的需求,`quill.js` 编辑器也面临着各种挑战,例如我们需要添加“table”布局样式以适应邮件发送格式,手动扩展表情符号功能等等。本文将对这些可定制化功能进行讲解和实现。 ## 区分 format 和 module 首先需要明确的是,我们应该清楚自己所需的扩展具体是什 阅读全文
posted @ 2023-05-25 01:22 Grewer 阅读(2010) 评论(0) 推荐(2) 编辑
摘要:什么是 module Federation module Federation(下面简称 MF) 是 webpack5 推出的最新的概念 有用过 webpack 的小伙伴都知道, 在我们打包时, 都会对资源进行分包, 或者使用异步加载路由的方案, 这样打出来的包(也叫 chunk), 在我们使用时, 阅读全文
posted @ 2023-03-26 22:13 Grewer 阅读(500) 评论(0) 推荐(0) 编辑
摘要:引言 前一段时间, 正好在做微前端的接入和微前端管理平台的相关事项。 而我们当前使用的微前端框架则是 qiankun, 他是这样介绍自己的: qiankun 是一个基于 single-spa 的微前端实现库,旨在帮助大家能更简单、无痛的构建一个生产可用微前端架构系统。 所以本文基于 single-s 阅读全文
posted @ 2023-03-26 22:08 Grewer 阅读(360) 评论(0) 推荐(0) 编辑
摘要:前言 上一文讲到了图片, 这里我们就讲一个常用的图片场景: 瀑布流, 他的实现和优化 什么瀑布流 瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是 Pinterest,逐渐 阅读全文
posted @ 2023-01-30 19:37 Grewer 阅读(454) 评论(0) 推荐(1) 编辑
摘要:术语表 首先我们需要知道一些术语, 才能更好地理解, 如果您已经了解, 可以跳过这一段 锚点 (anchor) 锚指的是一个选区的起始点(不同于 HTML 中的锚点链接)。当我们使用鼠标框选一个区域的时候,锚点就是我们鼠标按下瞬间的那个点。在用户拖动鼠标时,锚点是不会变的。 焦点 (focus) 选 阅读全文
posted @ 2023-01-30 02:02 Grewer 阅读(3772) 评论(0) 推荐(0) 编辑
摘要:前言 在当前的 web 开发过程中, 图片的使用是一种重要的功能 本期就来聊聊, 开发中的图片以及我们如何优化图片 图片的类型以及对比 位图 位图的特点是可以表现色彩的变化和颜色的细微过渡,产生逼真的效果,缺点是在保存时需要记录每一个像素的位置和颜色值,占用较大的存储空间。 位图的文件类型很多,如* 阅读全文
posted @ 2022-11-28 19:48 Grewer 阅读(878) 评论(0) 推荐(0) 编辑
摘要:前言 在富文本编辑器场景中, 表格是一种不可忽视的功能, 但是在当前 quill.js 的正式版本(1.x)中, 却不支持此功能 所以本文承接上文 链接, 来讲述下 quill.js 升级到 2.x 的问题以及添加表格功能 为什么需要升级 在目前的 1.x 版本中并不支持表格的元素, 而我们想要这个 阅读全文
posted @ 2022-11-03 01:11 Grewer 阅读(4821) 评论(0) 推荐(0) 编辑
摘要:前言 在前端开发中, 富文本是一种常见的业务场景, 而本文要讲的就是富文本框架 quill.js 中的自定义工具栏的开发 介绍 Quill.js 是一个具有跨平台和跨浏览器支持的富文本编辑器。凭借其可扩展架构和富有表现力的 API,可以完全自定义它以满足个性化的需求。由于其模块化架构和富有表现力的 阅读全文
posted @ 2022-09-30 00:43 Grewer 阅读(6990) 评论(0) 推荐(0) 编辑
摘要:介绍 Bun 是一个现代的JavaScript运行环境,如Node, Deno。主要特性如下: 启动速度快。 更高的性能。 完整的工具(打包器、转码器、包管理)。 下面我们来横向对比下框架所说的性能: 相同电脑下, 不同 js 运行环境的每秒操作数 更多具体的优点 内置 fetch、WebSocke 阅读全文
posted @ 2022-07-30 02:09 Grewer 阅读(7812) 评论(1) 推荐(0) 编辑
摘要:起因 场景一: 当前项目经历了刀耕火种地开发, 之后接入了 cli 工具集中管理打包, 那么项目中的依赖, 和 cli 工具中的依赖重合度是多少, 并且他的的版本是否相同, 是否有冗余代码 场景二: 项目中某一个库升级了, 他依赖了 A 库的 V3 版本, 同时当前项目依赖的是 A 库 V2版本, 阅读全文
posted @ 2022-06-28 02:56 Grewer 阅读(334) 评论(0) 推荐(0) 编辑
摘要:背景 在当前业务项目中使用的 react-router 版本为 3.x, 而当前主流使用的是 5.x 以上, 本文就来探究 react-router 升级的方案 当前情况 目前使用的是 react-router3.x 版本 再加上和 redux 的搭配库 react-router-redux 一起使 阅读全文
posted @ 2022-04-14 01:35 Grewer 阅读(515) 评论(0) 推荐(0) 编辑
摘要:前言 在前一段时间做一个需求的时候, 碰到一个自定义列表的功能, 他的所有数据显示都是通过 jSON 字符串来存储,使用也是通过 JSON 解析 起先他是有数据上限的, 但是后面提高上限后就出现了卡顿等问题, 所以本文就是介绍一些方案来解决前端大量数据的渲染问题 方案 innerHTML 首先是在很 阅读全文
posted @ 2022-04-01 01:07 Grewer 阅读(2139) 评论(0) 推荐(0) 编辑
摘要:react-window 这篇是 react-window 的源码阅读, 因为此库使用的是 flow, 所以会涉及一些特殊的东西, 和 ts 类似 使用 List 首先是 List 的使用: import {FixedSizeList as List} from 'react-window'; co 阅读全文
posted @ 2022-03-01 01:44 Grewer 阅读(1287) 评论(0) 推荐(0) 编辑
摘要:前言: 这次本来想解析 react-virtualized 的源码, 但是他的内容太多, 太杂, 我们先从小的库入手, 由点及面 所以这次改为了 react-virtual 和 react-window 的源码, 这篇就是 react-virtual 什么是虚拟列表 一个虚拟列表是指当我们有成千上万 阅读全文
posted @ 2022-02-09 00:04 Grewer 阅读(448) 评论(0) 推荐(0) 编辑
摘要:这次的版本是 6.2.1 使用 相比较 5.x 版本, 元素升级为了 简单的 v6 例子: function App(){ return <BrowserRouter> <Routes> <Route path="/about" element={<About/>}/> <Route path="/ 阅读全文
posted @ 2022-01-31 23:09 Grewer 阅读(506) 评论(5) 推荐(1) 编辑