原创 Ts高手篇:22個示例深入講解Ts最晦澀難懂的高級類型工具 第一部分 前置內容 第二部分 Ts內置類型工具原理解析 第三部分 自定義Ts高級類型工具及類型編程技巧

Hello大家好,我是愣錘。隨着Typescript不可阻擋的趨勢,相信小夥伴們或多或少的使用過Ts開發了。而Ts的使用除了基本的類型定義外,對於Ts的泛型、內置高級類型、自定義高級類型工具等會相對陌生。本文將會通過22個類型工具例子,深入

原创 encodeURI 和 encodeURIComponent 區別

encodeURI()和encodeURIComponent()都是Javascript中對URL編碼的函數。 encodeURI()着眼於對整個URL進行編碼,特殊含義的符號"; / ? : @ & = + $ , #“不進行編碼

原创 如何優雅的修改npm第三方依賴包 使用步驟

想想我們在使用第三方依賴包時如果遇到了bug,通常解決的方式都是繞過這個問題,使用其他方式解決,較爲麻煩。或者給作者提個issue,然後等待作者的修復,等待的時間不可控。那麼這時候就可以藉助patch-package自己動手去修復該bug,

原创 寫一個useInterval React hook

一開始,理解React鉤子可能會讓人望而生畏,特別是當您遇到與時間相關的任何事情時,比如setInterval()。爲了解決這些問題,您必須習慣hook的工作方式、它們的限制和潛在的變通方法。 首先,應該清楚setInterval()是一個

原创 React usePersistedState hook

返回一個持久化在localStorage中的有狀態值,以及一個更新它的函數。 使用useState()鉤子將該值初始化爲defaultValue。 使用useRef()鉤子創建一個引用,該引用將保存Window.localStorage中

原创 用js實現一個控制異步最大併發數的函數

看到一個大佬寫的控制異步[併發]數的函數,核心思想就是在併發數大於限制的時候,暫時先把操作放入通過promise組裝一下,然後放入數組,每次執行完異步回調後就將操作按先入先出的順序取出,然後執行,保證最大併發數在限制範圍內。 代碼如下: e

原创 代碼片段筆記 findDeep (樹節點查找)

findDeep (樹節點查找) const findDeep = (arr, callbackFn, childrenKey = 'children') => { if (!callbackFn) { return null;

原创 package.json 詳解 目標 瞭解 package.json package.json 的用途是什麼? package.json 中的常見字段 private

Node 項目在項目根目錄中名爲 package.json 的文件中跟蹤依賴關係和元數據。這是你項目的核心。它包含名稱、描述和版本之類的信息,以及運行、開發以及有選擇地將項目發佈到 NPM 所需的信息。 在本教程中,我們將: 瞭解 pac

原创 Ts高手篇:22個示例深入講解Ts最晦澀難懂的高級類型工具 第一部分 前置內容 第二部分 Ts內置類型工具原理解析

Hello大家好,我是愣錘。隨着Typescript不可阻擋的趨勢,相信小夥伴們或多或少的使用過Ts開發了。而Ts的使用除了基本的類型定義外,對於Ts的泛型、內置高級類型、自定義高級類型工具等會相對陌生。本文將會通過22個類型工具例子,深入

原创 npm scripts 使用指南 二、原理

Node 開發離不開 npm,而腳本功能是 npm 最強大、最常用的功能之一。 本文介紹如何使用 npm 腳本(npm scripts)。 一、什麼是 npm 腳本? npm 允許在package.json文件裏面,使用scripts字段定

原创 package.json 詳解 目標 瞭解 package.json package.json 的用途是什麼? package.json 中的常見字段

Node 項目在項目根目錄中名爲 package.json 的文件中跟蹤依賴關係和元數據。這是你項目的核心。它包含名稱、描述和版本之類的信息,以及運行、開發以及有選擇地將項目發佈到 NPM 所需的信息。 在本教程中,我們將: 瞭解 pac

原创 常用的js庫

輕量級的貨幣金額處理庫(currency): github 文檔 輕量的處理時間和日期的 JavaScript 庫(dayjs): github 文檔

原创 46.緩存誰都懂,一問都啞口(1) 緩存概念與分類 總結

緩存是網絡世界中非常重要的一環,也是解決性能問題最常用的手段之一。說起緩存這個概念,貌似誰都可以說上兩句,但又不能完全面面俱到;你可能聽說過 etag 或者 if-modified-since 這樣的頭部,可是並不能梳理好所有這些頭部的關係

原创 45.離不開的網絡基礎 網絡基礎知識 網絡相關應用 總結

開啓本講之前,我想先問一句:「網絡基礎對於前端程序員重不重要」?其實答案是毫無疑問的,如果讀者仍然對此有懷疑,那可能你還是剛入行的程序員,相信隨着工作經驗的增加,你會越來越能意識到網絡基礎的重要性。事實上,具備必要的網絡基礎,是對於一個程序

原创 49.不可忽視的前端安全 - 單頁應用鑑權設計 單頁應用鑑權簡介 單頁應用鑑權實戰 混合 JWT 和 cookie 進行鑑權

安全是計算機科學永遠無法忽視的話題。隨着互聯網的發展,安全問題越來越突出,也越來越重要:它是一個程序可用性、健壯性的基礎。這個話題可大可小,大到系統的設計,小到一行代碼的寫法,都可能影響系統的安全。 毫不例外,安全與前端開發的結合也持續走熱