原创 kosaraju 算法

前言 以前學習了算法,但是因爲沒有記錄下來,最近又要重新開始學習了,這次就將我的學習經歷彙總成文章,記錄下來。 科薩拉朱算法(英語:Kosaraju's algorithm),也被稱爲科薩拉朱—夏爾算法,是一個在線性時間內尋找一個有向圖中

原创 V8 入門記錄二:環境與調試

環境搭建 這裏先說下我的環境, 這是代碼運行的前提。 系統: Mac Monterey 12.6.8 Xcode: 14.2 Python: 3.11.6 (不要使用 2.x 版本!) 建議全程指令都在FQ工具下進行 由源碼構建 V

原创 V8 入門記錄一:初識

關於 V8 我想前端從業人員或多或少會聽說過這個詞,但是他具體是什麼, 怎麼入門, 怎麼學習是一個較高的門檻,本文就 V8 入門,來做一個記錄,也方便大家的學習。 V8 是 Google 用 C++ 編寫的開源高性能 JavaScript

原创 淺析微前端框架 qiankun 的實現

微前端簡介 Techniques, strategies and recipes for building a modern web app with multiple teams that can ship features indep

原创 淺析微前端沙箱

前言 在大型項目中,微前端是一種常見的優化手段,本文就微前端中沙箱的機制及原理,作一下講解。 首先什麼是微前端 Techniques, strategies and recipes for building a modern web ap

原创 富文本編輯器 quill.js 開發(五): 自定義插件

在 quill.js 中,擴展性最強大的功能就是插件 本文主要以一個圖片擴展的插件來介紹 quill 插件開發 在 quill.js 中他有着自己的名字: Modules,而他也內置了 5 種插件: TOOLBAR KEYBOARD HI

原创 React 中的 JS 報錯及容錯方案

前言 導致白屏的原因大概有兩種,一爲資源的加載,二爲 JS 執行出錯 本文就 JS 中執行的報錯,會比較容易造成"白屏"場景,和能解決這些問題的一些方法,作出一個彙總 常見的錯誤 SyntaxError SyntaxError(語法錯誤)

原创 React 性能 debug 小記

前言 之前開發重構項目的時候,遇到了一些問題, 如 hooks 的性能問題和 quill 的重載問題。本文就是記錄這些問題的解決過程。 場景 在基於富文本的輸入場景中,我們發現在輸入回車後會出現明顯的卡頓現象。爲了更好地展示此類場景,這裏使

原创 富文本編輯器 quill.js 開發(四): 自定義格式擴展

前言 鑑於各種繁雜的需求,quill.js 編輯器也面臨着各種挑戰,例如我們需要添加“table”佈局樣式以適應郵件發送格式,手動擴展表情符號功能等等。本文將對這些可定製化功能進行講解和實現。 區分 format 和 module 首先需要

原创 Single-spa 源碼淺析

引言 前一段時間, 正好在做微前端的接入和微前端管理平臺的相關事項。 而我們當前使用的微前端框架則是 qiankun, 他是這樣介紹自己的: qiankun 是一個基於 single-spa 的微前端實現庫,旨在幫助大家能更簡單、無痛的構

原创 module Federation 簡介與應用

什麼是 module Federation module Federation(下面簡稱 MF) 是 webpack5 推出的最新的概念 有用過 webpack 的小夥伴都知道, 在我們打包時, 都會對資源進行分包, 或者使用異步加載路由的

原创 淺析瀑布流佈局原理

前言 上一文講到了圖片, 這裏我們就講一個常用的圖片場景: 瀑布流, 他的實現和優化 什麼瀑布流 瀑布流,又稱瀑布流式佈局。是比較流行的一種網站頁面佈局,視覺表現爲參差不齊的多欄佈局,隨着頁面滾動條向下滾動,這種佈局還會不斷加載數據塊並附

原创 富文本編輯器 quill.js 開發(二): 光標和選區

術語表 首先我們需要知道一些術語, 才能更好地理解, 如果您已經瞭解, 可以跳過這一段 錨點 (anchor) 錨指的是一個選區的起始點(不同於 HTML 中的錨點鏈接)。當我們使用鼠標框選一個區域的時候,錨點就是我們鼠標按下瞬間的那個點。

原创 聊聊前端圖片的格式和優化

前言 在當前的 web 開發過程中, 圖片的使用是一種重要的功能 本期就來聊聊, 開發中的圖片以及我們如何優化圖片 圖片的類型以及對比 位圖 位圖的特點是可以表現色彩的變化和顏色的細微過渡,產生逼真的效果,缺點是在保存時需要記錄每一個像素

原创 富文本編輯器 quill.js 開發(二): 升級與表格功能

前言 在富文本編輯器場景中, 表格是一種不可忽視的功能, 但是在當前 quill.js 的正式版本(1.x)中, 卻不支持此功能 所以本文承接上文 鏈接, 來講述下 quill.js 升級到 2.x 的問題以及添加表格功能 爲什麼需要升級