2026 年遠端 Mac 前端部署避坑:
Vite/Webpack 建置與 Safari 真機驗證三步清單
前端/全棧與網站運維、測試在遠端 Mac 上做 Web 建置與相容性驗證時,常踩到 Node 版本、建置快取與 Safari 真機未驗證等坑。本文提供三步清單與避坑要點:① 建置常見坑 ② Vite/Webpack 優化與快取 ③ Safari 真機驗證三步清單 ④ 小結與推薦;文末引導至站內 Safari、Node/npm 相關博客與購買頁。💻🚀
01 遠端 Mac 上前端建置常見坑(Node 版本、快取、建置時長)
在遠端 Mac 上做前端建置時,Node 版本與專案鎖檔不一致、快取未善用導致冷建置過久,是常見問題。Node 版本錯誤會造成依賴安裝失敗;快取未配置則 CI 或重啟後建置時間拉長。
| 常見坑 | 影響 | 避坑方向 |
|---|---|---|
| Node 版本與 .nvmrc 不一致 | 建置失敗、依賴不相容 | 使用 nvm/fnm,建置前執行 nvm use 或 fnm use |
| 冷建置耗時長、未用快取 | CI 與本機建置慢 | 啟用 Vite/Webpack 快取、必要時持久化 node_modules |
| 僅在 Chrome 驗證、未在 Safari 真機驗證 | 上線後 Safari 版面或 JS 異常 | 部署前在遠端 Mac 上跑 WebKit/Safari 真機或 Playwright webkit |
Node 建議 LTS 18/20;Vite 冷建置可藉 build.cacheDir 與持久化目錄縮短;僅 Mac 有真實 Safari,租用遠端 Mac 可補足 Windows 不足。
02 Vite/Webpack 建置優化與快取配置要點
Vite:在 vite.config 設定 build.cacheDir(預設 node_modules/.vite),確保 CI 或遠端 Mac 上該目錄可持久化。Webpack:啟用 cache: { type: 'filesystem' } 並指定 cacheDirectory,可縮短二次建置時間。
- 鎖定 Node 版本:專案根目錄建立
.nvmrc或.node-version,建置腳本前執行nvm use/fnm use。 - Vite:確認
build.cacheDir指向可持久化路徑,必要時在 CI 中保留該目錄。 - Webpack:設定
cache: { type: 'filesystem', cacheDirectory: path.resolve(__dirname, '.cache/webpack') }。 - 使用
npm ci安裝依賴,避免鎖檔與環境不一致。 - 遠端 Mac 上建置完成後,再進行 Safari/WebKit 驗證(見下一步)。
更多建置快取對比見遠端 Mac 上 Vite/Webpack 建置快取優化。💻
03 Safari 真機驗證流程與三步清單
僅 Mac 能跑真實 WebKit/Safari;遠端 Mac 建置完成後務必做 Safari 驗證,避免上線後僅在 Safari 出現版面或腳本問題。
| 步驟 | 執行內容 |
|---|---|
| 步驟一 | 在遠端 Mac 上切換專案 Node 版本(nvm use/fnm use),執行 npm ci && npm run build,確認建置成功。 |
| 步驟二 | 安裝 Playwright WebKit:npx playwright install webkit;執行 E2E 或 smoke(browserName: 'webkit'),或於遠端 Mac Safari 開啟建置產物 URL 做關鍵頁檢查。 |
| 步驟三 | 記錄結果:通過/失敗項目、Safari 版本與機型;將三步寫入 CI 或部署前檢查清單,與遠端 Mac 環境一致。 |
04 小結與推薦
避坑重點:① 鎖定 Node 並用 nvm/fnm ② 啟用 Vite/Webpack 快取並持久化 ③ 建置後依三步清單做 Safari 真機或 WebKit 驗證。無自備 Mac 可租用遠端 Mac,滿足與 CI 一致的建置與真實 Safari 驗證。
- □ 專案已建立
.nvmrc或.node-version,建置前已執行nvm use/fnm use。 - □ Vite/Webpack 已啟用檔案系統快取並可持久化。
- □ 至少一次在遠端 Mac 上以 WebKit/Safari 跑過核心流程或 smoke 測試。