Lastor
[Coding] 我開始覺得 typescript 的偽 import 關鍵字的設計其實也挺坑的,在一些 CJS / EMS 混用的專案,從 .ts 很難直觀看出這邊到底是用哪一種 module 方案
Lastor
有一些 lib 本身就有提供兩種 export,有些則只提供 ESM or CJS only
Lastor
所以當遇到 CJS vs ESM 的問題時,往往都得要一個一個看,到底誰是用哪種,應該要怎麼修才能全部 cover
Lastor
ESM 都已經相對普及的現在,還是會撞到這類問題,挺煩的
Lastor
有一些複雜的框架、lib 原本就跟 node.js + CJS 依賴太深,很難換 ESM
Lastor
索性專案走 CJS base,然後遇上新 lib 走 ESM only 就炸了,快吐了我說
Lastor
理論上 node22 之後,應該是都可以兼容的,因為 require 現在內部 handle 可以導入 ESM 了
Lastor
但是喵的,變成 typescript 矇了,他看不懂,全變紅線或 any。估計 ts 也要升上去,八成要改設定
Lastor
所以我估計 node.js 這個 require ESM 的新功能,其實也是一個較大的版本斷層了
Lastor
可目前看來就是 ts 會有狀況,但其實 prue js 完全是可以跑的,所以這算是又被 ts 的缺點給坑到
載入新的回覆