博客 / 列表

林恆 - 面試官:説説看,用户登錄後拿到的 Token,你應該怎麼存?存哪裏?

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 開篇:一個經典的面試題 “説説看,用户登錄後拿到的 Token,前端應該怎麼存?” 這個問題看似簡單,卻能清晰地分辨出一個前端開發者對安全的理解深度。是存到 localStorage?sessionStorage?還是 Cookie?又或者是內存裏?不同的選擇背後,是截然不同的安全考量。 今天,來聊一聊 Toke

前端

林恆 - 拒絕 rem 計算!Vue3 大屏適配,我是這樣做的

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 最近公司又接了個數據可視化大屏的需求,設計稿是標準的1920 x 1080。 拿到設計稿的那一刻,我的內心是拒絕的... 🤯 大家都知道,做大屏適配最煩的就是還原設計稿座標。 以前我嘗試過各種方案: rem / vw: 每一個 px 都要轉換,寫 css 的時候旁邊還得開個計算器,太累。

前端

林恆 - Vue開發三年,我才發現依賴注入的TypeScript正確打開方式

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 你是不是也遇到過這樣的場景? 在Vue項目裏,為了跨組件傳遞數據,你用provide和inject寫了一套祖孫通信邏輯。代碼跑起來沒問題,但TypeScript編輯器總給你畫紅線,要麼是“類型any警告”,要麼就是“屬性不存在”的錯誤提示。 你看着一片飄紅的代碼區,心裏想着:“功能能用就行,類型標註太麻煩了。”於是,

前端

林恆 - 徹底弄懂KeepAlive

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 前言 開發過Vue應用的同學對KeepAlive功能應該都不陌生了,但是大家對它的理解是隻停留在知道怎麼用的階段 還是説清晰的知道它內部的實現細節呢,在項目中因KeepAlive導致的的Bug能第一時間分析出來原因並且找到解決方法呢。這篇文章的目的就是想結合Vue渲染的核心細節來重新認識一下KeepAlive這個功能。 文章是

前端

林恆 - Electron 的西天取經

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 我本身是做 Web 開發的,最近需要寫個小工具,調用一些系統 API,就選擇了比較成熟的 Electron。結果業務代碼寫了三小時,環境配置、鏡像、文件引用、打包路徑、體積過大、文件被鎖定……各種問題卻折騰了將近三天。寫下這篇筆記,記錄這一路的坎坷。 第一難:官方文檔搭不起項目 按照官方説明初始化項目:

前端

林恆 - 12個JS核心,搞懂這些直接起飛!

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 你是不是也遇到過這樣的場景?面試官拋出一個閉包問題,你支支吾吾答不上來;團隊代碼review時,看到同事用的Promise鏈一臉懵逼;明明功能實現了,性能卻總是差那麼一點... 別慌!今天我整理了12個JavaScript核心概念,這些都是2024年各大廠面試的高頻考點,也是日常開發中真正實用的硬核知識。搞懂它

前端

林恆 - 【Vue3】我用 Vue 封裝了個 ECharts Hooks

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 前言 在前端開發中,ECharts 作為數據可視化的利器被廣泛使用,但每次使用都要重複處理初始化、容器獲取、事件綁定、窗口 resize 等邏輯,不僅繁瑣還容易出錯。最近我封裝了一個useEchartHooks,徹底解決了這些痛點,今天就來分享一下實現思路和使用技巧。 為什麼需要這個 Hooks?

前端

林恆 - 前端技巧:檢測到省略號文本自動顯示 Tooltip

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 前言 在前端開發中,我們經常會遇到接口返回的文本內容過長,無法完全顯示的問題。為了處理這一問題,通常會設置固定的寬度並使用省略號樣式(text-overflow: ellipsis)來隱藏超出的文本。然而,有時產品需求還希望用户能夠通過懸停查看完整內容,這時就需要引入 Tooltip 進行展示。(沒被省略的時候不

前端

林恆 - 説一下 localhost 和127.0.0.1 的區別

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 localhost是主機名(域名) ,屬於應用層概念; 127.0.0.1是IPv4 迴環地址,屬於網絡層概念。 兩者都用於訪問本機服務,但localhost必須通過解析才能映射到具體 IP(默認是127.0.0.1或 IPv6 的::1),而127.0.0.1是直接的網絡層標識,無需解析。 一、本質定義與協

前端

林恆 - 神級JS API,誰用誰好用

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 1. ResizeObserver ResizeObserver 是一個瀏覽器原生的 JavaScript API,用於監聽 DOM 元素尺寸的變化。它類似於 MutationObserver,但專門用於觀察元素的大小(寬高)變化,而無需依賴 window.resize 事件(後者只對視口變化有效)。 🧩 基本用法

前端

林恆 - 在 Web 前端實現流式 TTS 播放

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 🧠 在 Web 前端實現流式 TTS 播放:從卡頓雜音到絲滑順暢的演進之路 在做前端實時語音合成(TTS)時,很多人都會遇到同樣的問題: 播放出來的語音一頓一頓的,很卡頓 聲音中夾雜“咔嗒”聲、雜音、斷裂 明明音頻格式是 MP3,也無法做到“接收到就播放” 本文將帶你走一遍真實的排坑過

前端

林恆 - 總結 Next.js 中的 Server Actions

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 我們知道,Next.js 最核心的特性便是 支持靜態生成(SSG)和服務端渲染(SSG),這也就意味着我們可以以部署 Node 服務的方式,將其部署在服務器上,用請求後端接口類似的形式來請求頁面文件。換句話説,我們其實可以直接把 Next.js 看成一個特殊的 Node 後端服務。 既然是在服務端進行運行,那麼它在數據庫

前端

林恆 - 使用自定義API接入OpenAI CodeX配置教程

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 Codex 是OpenAI 推出的一系列人工智能編碼工具,通過將任務委託給強大的雲端和本地編碼代理,幫助開發人員提升工作效率。支持原生終端、vscode插件、cursor插件等場景使用。 官網網站openai.com/codex/ 系統要求 步驟一:安裝Codex CLI 選擇一種安裝方式即可。 npm(通用) npm i

前端

林恆 - VUE3大屏自適應佈局

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 1. 視口單位佈局 (Viewport Units) 使用vw和vh單位來實現響應式佈局: .full-screen { width: vw(1920); height: vh(1080); padding: vh(5) vw(5) vh(5) vw(5); } .header-title { font-size

前端

林恆 - uni-app 無法實現全局 Toast?這個方法做到了!

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 大家好,我是不如摸魚去,wot-ui的主要維護者,歡迎來到我的 uni-app 分享專欄。 在 uni-app 開發中,我們經常遇到需要在任何地方(如網絡請求攔截器、路由守衞等)顯示 Toast 提示的需求。然而,uni-app 的組件化架構使得全局 Toast 的實現變得複雜。本文將介紹一套完整的解決方案,讓你輕鬆實現

前端

林恆 - 為什麼你的JavaScript代碼總是出bug?這5個隱藏陷阱太坑了!

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 你是不是經常遇到這樣的情況:明明代碼看起來沒問題,一運行就各種報錯?或者測試時好好的,上線後用户反饋bug不斷?更氣人的是,有時候改了一個小問題,結果引出了三個新問題…… 別擔心,這絕對不是你的能力問題。經過多年的觀察,我發現大多數JavaScript開發者都會掉進同樣的陷阱裏。今天我就來幫你揪出這些隱藏的bug製造機,讓你的代

前端

林恆 - JavaScript 中的 map、parseInt 與 NaN:一場關於類型轉換與函數調用的深度解析

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 引言:一個看似簡單的陷阱 在 JavaScript 的日常開發中,我們常常會遇到這樣一段“經典”代碼: console.log([1, 2, 3].map(parseInt)); // 輸出:[1, NaN, NaN] 乍看之下,這段代碼似乎應該將字符串數組或數字數組轉換為整數數組。然而,結果卻出人意料——除了第一個元素外,其餘

前端

林恆 - JavaScript性能優化:我從50ms降到5ms的7個關鍵技巧

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 引言 在現代Web開發中,性能優化是一個永恆的話題。隨着前端應用的複雜度不斷提升,JavaScript的執行效率直接影響用户體驗。我曾面臨一個關鍵功能的性能瓶頸——初始實現需要50ms完成的任務,通過一系列優化手段成功降至5ms。本文將分享這7個關鍵技巧,涵蓋從代碼層面到運行時優化的全方位實踐。 主體 1. 減少DOM操作:批量

前端

林恆 - 鴻蒙應用開發---語音轉文本

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 一、工具 二、開發步驟 將一段中文音頻轉換為文本 1.在使用語音識別時,將實現語音識別相關的類添加至工程。 import { speechRecognizer } from '@kit.CoreSpeechKit'; import { BusinessError } from '@kit.BasicServicesKit';

harmonyos

林恆 - 記錄---瀏覽器多窗口通信有效實踐總結

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 如何跨越不同窗口通信 在現代 Web 開發中,多個窗口或標籤頁之間的通信成為了越來越常見的需求,尤其是在應用需要同步數據、共享狀態或進行實時更新的場景中。不同窗口間的通信方式有很多種,選擇合適的方式可以大大提高開發效率和用户體驗。本文將詳細介紹幾種常見的瀏覽器多窗口通信技術,並結合實際代碼示例,分析它們的優缺點及兼容性。

前端 , html5

林恆 - 如何跨標籤頁通信

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 開篇小劇場:為什麼標籤頁要"聊天"? 想象你在網上商城: 標籤1:瀏覽商品頁 標籤2:開着購物車 當你在標籤1點擊"加入購物車",標籤2的購物車數字應該立即+1!這就是標籤頁通信的魔力啦!✨ 🎨 方案1:BroadCast Channel(對講機頻道) 🛠️ 方案2:Service Worker(隱形郵差) 📦 方案3

前端 , html5

林恆 - B站首頁的 Banner 這麼好看,我讓你直接用到你的項目!

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 寫在前面 我最開始是用 Angular 去實現了B站的 Banner ,那時候還沒有人做這東西,可以看到下面那一長串 Bannet 圖片的第一個圖是好幾年以前的了。然後隨着逐步完善,在這幾年偶爾也看到有人發過這東西的實現方法。 但我為什麼要寫這篇文章?因為我打算用原生 JS 和三大框架都去實現一遍,以滿足所有人的需求

前端 , html5

林恆 - 如何進行頁面前端監控

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 前端監控主要分三個方向 前端性能(用户體驗優化) 異常監控 業務指標跟 下面我來分別介紹三類指標如何獲取 1)前端性能指標: 一、用户體驗相關的: 頁面加載時間(Page Load Time) : 定義:從用户請求頁面到頁面完全加載的時間。

前端 , html5

林恆 - 記錄---讓網頁像現實世界一樣“拿起來,放進去”

🧑‍💻 寫在開頭 點贊 + 收藏 === 學會🤣🤣🤣 引言 2025年,我們早已習慣用手指滑動屏幕、拖動文件。而這一切流暢體驗的背後,HTML5 的拖拽(Drag and Drop)功能功不可沒。它讓網頁不再只是“點一點”,而是可以“拖一拖、放一放”,大大提升了交互的直觀性和用户體驗。 為什麼拖拽如此重要? 回想一下 iPad 為何能迅速風靡全球?一個重要原因就是它的操作“傻

前端 , html5