pnpm 的六個坑
保留字讓你的 script 從沒被執行、dangling symlink 炸掉 build、跨版 orphan 讓 app 初始化 就崩、script 前置 install 把檢查機制自己修好、超長 PATH 讓 spawn 慢十倍。六個實際踩過的 pnpm 行為,以及各自的判準。
共 7 篇文章
保留字讓你的 script 從沒被執行、dangling symlink 炸掉 build、跨版 orphan 讓 app 初始化 就崩、script 前置 install 把檢查機制自己修好、超長 PATH 讓 spawn 慢十倍。六個實際踩過的 pnpm 行為,以及各自的判準。
使用 Oxlint 和 Oxfmt 取代 ESLint 和 Prettier,享受 50-100 倍的速度提升,同時保持程式碼品質。
handler 裡的步驟順序不是風格問題——權限檢查之前做的任何事,都是未授權的人可以觸發的。 這篇記固定順序的理由,以及三個會回 200 的錯:路由撞成 HTML、query 全是字串、軟刪除漏過濾。
Nuxt UI 的 Dashboard 元件把側邊欄狀態、響應式與收合行為都做掉了,剩下要自己決定的 只有幾件。這篇記三個做錯不會報錯的地方:漏了根元件、用 v-if 切版面、以及扁平化的元件命名。
快取層真正要決定的只有一件事:哪些資料的正本不在瀏覽器裡。定錯了會得到兩份會漂的真相; key 設計不一致則會讓失效機制靜默失靈——改完資料畫面沒更新,重整一次又對了。
先寫測試的價值不在紀律,在於你會親眼看到它失敗一次——沒紅過的測試有可能永遠是綠的, 而它照樣算進覆蓋率。這篇記三件事:Red 這一步在驗什麼、測試環境怎麼選、以及 mock 的界線。
端到端型別安全的關鍵不是寫更多 interface,而是讓每一種型別只有一個來源。 這篇記三個讓型別失效的方式:型別與真實資料不符、泛型漏傳導致整條查詢變成 any、 以及 migration 後沒重新產生。