@rollup

動態 列表
@xiaohe0601

👋 一起寫一個基於虛擬模塊的密鑰管理 Rollup 插件吧(一)

在現代 Web 應用開發中,密鑰的使用幾乎是不可避免的,無論是加解密本地敏感數據、調用第三方 SDK 還是網絡請求籤名等場景都需要用到密鑰。 如何相對安全、靈活地管理密鑰一直是一個令人頭疼的問題,我們既希望在開發環境可以方便地修改、調試和注入密鑰,又不希望這些密鑰在構建產物中被明文暴露,以免被有心之人輕鬆獲取。 通常情況,我們會先手動將密鑰通過特定的算法混淆拆分成多份放入源碼中,運行時再通過逆運算

xiaohe0601 頭像

@xiaohe0601

昵稱 xiaohe0601

@xiaohe0601

👋 一起寫一個基於虛擬模塊的密鑰管理 Rollup 插件吧(二)

上一章 我們詳細介紹了為什麼需要一個自動化的密鑰管理方案,以及如何利用虛擬模塊機制設計並實現一個適用於 Rollup 的密鑰管理插件。 我們從需求出發,將核心的密鑰拆分還原算法獨立為 crypto-splitter 模塊,再通過 rollup-plugin-crypto-key 模塊將其接入 Rollup / Vite 的構建流程。用户只需簡單配置明文密鑰,就能實現在業務代碼中像導入普通模塊一樣獲

xiaohe0601 頭像

@xiaohe0601

昵稱 xiaohe0601

@morimanong

用 rollup + gulp 造個輪子,別説還挺香

前戲 我是16年入了前端的坑,17年知道了gulp和rollup這兩個玩意兒。由於那時webpack勢頭很猛,便一直沒有正眼瞧過它一眼。 直到20年進了一家小公司,做了很多類似的小項目,相同的代碼拷來拷去,出現一個bug一堆項目都要改,實在噁心到我了。 於是不得不開始考慮將一些公共的方法和組件提取出來,做成一個第三方庫來維護。而在庫的封裝方面,rollup相對於webpack具有一定的優勢。 在此

morimanong 頭像

@morimanong

昵稱 末日碼農

@xiaohe0601

👋 一起寫一個基於虛擬模塊的密鑰管理 Rollup 插件吧(三)

上一章 我們為插件實現了對 TypeScript 的支持,通過在插件中引入 dts 配置項自動生成 crypto-key.d.ts 聲明文件,讓用户在開發過程中無需手動維護類型定義文件,就能獲得準確的類型提示和更流暢的 IDE 體驗。 可行性分析 為了讓插件能夠被更多的用户使用,我們希望可以同時支持 Vite、Rollup、Webpack、Esbuild 等構建工具,所以本章我們將會一起把插件從單

xiaohe0601 頭像

@xiaohe0601

昵稱 xiaohe0601

@xiaohe0601

👋 一起寫一個基於虛擬模塊的密鑰管理 Rollup 插件吧(四)

上一章 我們成功將插件遷移到 Unplugin 插件系統,使其同時支持 Vite、Rollup、Webpack、Esbuild 等多種構建工具,讓更多用户都能輕鬆體驗到我們基於虛擬模塊的密鑰管理方案。 然而,儘管我們的插件功能已經完整實現,但是在未來的迭代過程中仍然存在潛在風險。插件可能因為版本更新、構建工具差異或者代碼修改而出現功能迴歸、虛擬模塊解析異常或類型聲明生成不正確等問題。 為了確保插件

xiaohe0601 頭像

@xiaohe0601

昵稱 xiaohe0601