關於我與前端無關緊要的分享 Day 52
繼昨天談到的 JavaScript Module System ,可以來提及一下近期發生的事。所謂的打包知識是非常龐雜,打包知識多半毫無系統化,大部分的知識點都在原始碼、Github Issues 、散落的文章。
我近期遇到 webpack 打包時,無論怎麼處理都無法將 require 轉譯成 __webpack_require__ 。心裡想,有點懶得去查原因,我就交給 Claude code 自己去找原因,請他幫我解決。但這真是我最大的錯誤決定,AI 嘗試了增刪套件,從 babel 做多種嘗試組合,還有直接把 require 改 import,最後仍然無法正確處理,直到 Token limit 為止,還是沒有解決。過程來來回回好心累。最後我認真去查原因,翻了幾篇跟這有關的資訊,結果花不到半個小時就找到答案。
必須說,Google 找資料才是一切的根本,知識的根基和基礎都是到處學習別人的經驗,然後透過實測、經驗累積、知識交錯得到更複雜的結論。現在的人求速食,覺得打包問題問問 AI 迎刃而解,但事實上是誤導、繞道、過度實作,最糟糕是仍然解決不了。
AI 強大的是在很多人都遇過的問題,只要基數大都可以很快找到解答。但只要問題直追原頭、不多見、夠複雜,那可能就是 AI 弱項,AI 的智慧來自前人的經驗與累積,透過模糊的處理得到趨近於答案的結果,但絕對不是全能。
最後,你問我為什麼 require 無法轉譯?就單純是 package.json 把 type 設定成 module,所以 webpakck 忽略處理,把它刪除就好。但這是最終正解嗎?我也會告訴你「還不算是」。