通過 AST 實現組件庫替換升級
年初接到一個任務將 semi-ui 替換到 antd,但是能人力預算不太夠,所以基於工作量和效率選擇了基於 AST 的替換方案。 項目技術棧是 React + tsx 為什麼要使用 AST? AST(Abstract Syntax Tree,抽象語法樹)是一種在計算機科學中表示源代碼語法結構的樹狀數據結構。 通過 AST,可以理解代碼的結構和含義,實現代碼分析、轉換和操作。 基於 AS
昵稱 linong
貢獻者508
粉絲0
年初接到一個任務將 semi-ui 替換到 antd,但是能人力預算不太夠,所以基於工作量和效率選擇了基於 AST 的替換方案。 項目技術棧是 React + tsx 為什麼要使用 AST? AST(Abstract Syntax Tree,抽象語法樹)是一種在計算機科學中表示源代碼語法結構的樹狀數據結構。 通過 AST,可以理解代碼的結構和含義,實現代碼分析、轉換和操作。 基於 AS
昵稱 linong
作者:來自 vivo 互聯網大前端團隊- Sun Maobin 通過開發 Babel 插件,打包時自動為代碼添加 可選鏈運算符(?.),從而有效避免 TypeError 的發生。 一、背景介紹 在 JS 中當獲取引用對象為空值的屬性時,程序會立即終止運行並報錯:TypeError: Cannot read properties of ... 在ECMAScript 2020新增的可選鏈運算符(?.
昵稱 vivo互聯網技術
背景 在我做過的一個對接海康威視監控實現直播流的項目中,需要處理 WebSocket 的長連接,以便於和服務器保持實時通信。WebSocket 的一個挑戰是連接的穩定性,特別是在網絡波動或斷開時,如何確保能自動重連並保持通信流暢。為了簡化這一過程,我決定封裝一個 WebSocket 類,使得開發者無需每次都重複編寫連接、心跳、重連等邏輯。 這個 CustomSocket 類支持以下功能: 心跳
昵稱 夢開始的地方
創建項目 pnpm create vite 直接使用模板創建 pnpm create vite my-vue-app --template vue 安裝 JSX 支持依賴 cd my-vue-app npm install @vitejs/plugin-vue-jsx -D 配置 vite.config.js import { defineConfig } from 'vite' import v
昵稱 微芒不朽
效果Gif圖 使用方式 script lang="ts" setup import EdgeDockable from "***/EdgeDockable.vue"; /script template !-- localStorage 存儲位置時所需要的 key="AI" -- EdgeDockable localStorageKey="AI" template #collap
昵稱 你好啊你好
一、安裝插件 pnpm add @boindil/vue-file-agent-next 二、基本使用 /* main.ts */ import VueFileAgentNext from "@boindil/vue-file-agent-next"; import "@boindil/vue-file-agent-next/dist/vue-file-agent-next.css"; cons
昵稱 高級BUG開發
效果 使用示例 script setup lang="ts" import ToMessage from "**/NaiveMessage"; function a() { ToMessage("#a", "測試消息a", { duration: 0, closable: true }); } function b() { ToMessage("#b", "測試消息b", { dura
昵稱 你好啊你好
將一個數組轉換為一棵樹可以通過遞歸實現。假設我們有一個包含父節點與子節點關係的數組,如下所示: const arr = [ { id: 1, name: 'A', parent_id: null }, { id: 2, name: 'B', parent_id: 1 }, { id: 3, name: 'C', parent_id: 2 }, { id: 4, na
昵稱 ohoherror
倒序排列數組的方法如下: 使用reverse()方法: const arr = [1, 2, 3, 4, 5]; const reversedArr = arr.reverse(); console.log(reversedArr); //[5, 4, 3, 2, 1] 使用for循環和unshift()方法: const arr = [1, 2, 3, 4, 5]; const re
昵稱 ohoherror
JavaScript的reduce和reduceRight的作用是通過順序或逆序遍歷數組,從而得到一個結果,原理如下: function myReduce(execute, initValue) { const length = this.length let result for (let i = 0; i length; i++) { if (i =
昵稱 周翔宇
JavaScript 語言的核心足夠大,以至於很容易誤解其某些部分的工作方式。我最近在重構一些使用every()方法的代碼時發現,我實際上並沒有完全理解其背後的邏輯。在我的腦海中,我假設回調函數必須被調用並返回true,every()才會返回true,但實際情況並非如此。對於一個空數組,every()無論回調函數是什麼都會返回true,因為那個回調函數從未被調用。考慮以下情況: function
昵稱 Apifox
方法羅列 方法 是否修改原數組 返回值 slice 否 包含摘取元素的新數組 toSpliced 否 不包含被刪除元素的新數組 slice 獲取指定位置的元素,然後將這些元素作為數組返回。 函數簽名: slice([start], [end]) start摘取開始位置 e
昵稱 熱飯班長
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
昵稱 冴羽