Lastor
coding 吐了,前幾天嘗試完 rails/webpacker 遷移至 nodejs webpack4。現在直接挑戰最終目標,遷移到 vite
Lastor
很理所當然會有一堆問題,只是弄一弄就突然在想......
Lastor
為啥我不一開始就直接 try vite,我太保守了。原本研究 webpack4 的內容,現在換 vite 狀況根本完全不一樣
Lastor
嘛...... 不過有好有壞啦,因為我先 try 了 webpack4 從零重架,所以對於這專案有些啥,稍微了解了一遍
Lastor
因此也比較能判斷改到 vite 可能會出現啥問題,甚麼東西需要搬,甚麼東西可以砍了
Lastor
目前確認一些有趣的限制,webpack4 最高只能對應到 node16,再往上就只能用 webpack5
Lastor
vite 當前最低支援到 node12,而我們專案原本是 node10,被強迫要升級了
Lastor
不過最初要弄這個的核心目的,就是想要升級 node 版本就是,因為很多用 Mac M1 的同事,紛紛出現 node10 裝不上去的問題
Lastor
估計再過 1 ~ 2 年,Mac intel CPU 被全面淘汰之後,會變成沒有人的電腦打得開這專案了
Lastor
原本 webpack + node10 環境,很難升的原因,大多都出在 node-sass 這玩意,還有一堆 xxx-loader 以及 babel 的東西,都卡版本,要升 node 都得更新或換掉
Lastor
但是直上 vite 的話,這些 xxx-loader 跟 babel 其實大部分是直接不需要了
Lastor
vite 也開箱支持新的 sass,所以 node-sass 也可以砍了
Lastor
也就是說,要遷移 vite,其實升 node 版本反而是很簡單的,所以我前幾天都在白忙甚麼
Lastor
然而,換裝 vite 之後有完全不一樣的問題
Lastor
例如原本 webpack 環境有寫 requre() 或 require.context 的地方全都要改
Lastor
CommonJS 的要改成 ESM
Lastor
還有 process.env 這些調用,也得改.... 很多問題
Lastor
最姬芭的是,原本這專案居然有一塊使用到 nodejs 的模塊,甚麼 file 那些東西。這種 vite 直接死,完全沒辦法 import
Lastor
幸好追了一下專案內有用到這些的檔案,似乎都已經棄用,只是 code 還著而已,所以可以先不鳥她。不然我真的要吐了
Lastor
更正,已經吐了。原本搜尋到有引入 nodejs 模塊的時候,我是充滿絕望的,似乎一切都白幹了。還好追了一下,其實沒有引用到
Lastor
這個如果我成功搞定,去要求個加薪應該不過分吧
載入新的回覆