觀點 · 資訊分享
Cloudflare Workers 的 Node.js 相容改預設開啟:相容日期 2026-08-04 起不必再加 nodejs_compat
Cloudflare 宣布,Workers 的相容日期設為 2026-08-04 或更新時,會預設啟用 nodejs_compat 與 nodejs_compat_v2,node:crypto、node:fs、node:http 等內建 API 直接可用;舊相容日期的 Worker 不受影響。
- 發布
- 2026-08-05
- 篇幅
- 約 3 分鐘 · 1,572 字
- 結構
- 7 節 + 3 題常見問題
- 標籤

一句話看懂:Cloudflare 宣布,Workers 的相容日期設為 2026-08-04 或更新時,會預設啟用 Node.js 相容,
node:crypto、node:fs、node:http這些內建 API 不用再手動開旗標就能用。

先用白話講:Workers 與 Node.js 相容是什麼?
Workers 是 Cloudflare 讓你把程式碼放到全球各地機房執行的服務。但它的執行環境不是 Node.js,而是自己的一套,所以很多為 Node.js 寫的函式庫,原本會因為「找不到某個內建功能」而跑不起來。
Node.js 相容就像一個轉接頭:把 Node.js 的內建功能(加密、檔案、網路、串流……)接到 Workers 的環境上,讓 npm 上的套件可以直接用。以前這個轉接頭要自己插上去,現在新的設定預設就插好了。
發生什麼事
Cloudflare 在 8 月 4 日的更新日誌宣布:
- 當 Workers 的相容日期是 2026-08-04 或更新,會預設啟用
nodejs_compat與nodejs_compat_v2兩個旗標的行為 - Workers 執行環境支援的 Node.js 內建 API 都預設可用,包含
node:crypto、node:buffer、node:stream、node:net、node:dns、node:fs、node:http等 - 依賴這些 API 的 npm 套件,不用額外設定就能運作
哪些人會被影響?
| 情況 | 怎麼辦 |
|---|---|
| 新專案 | 不需要加這兩個旗標,預設就有 |
| 既有專案,相容日期早於 2026-08-04 | 完全不受影響;想用的話可以自己加 nodejs_compat |
| 既有專案,更新相容日期到 2026-08-04 以後 | 不必先把舊旗標拿掉,工具會忽略多餘的旗標 |
| 不想要 Node.js 相容 | 移除舊旗標,改加 no_nodejs_compat 與 no_nodejs_compat_v2 |
給開發者的技術細節
官方給的關閉設定長這樣(日期請改成你要的相容日期):
{
"compatibility_date": "2026-08-04",
"compatibility_flags": ["no_nodejs_compat", "no_nodejs_compat_v2"]
}
- 官方說明 Wrangler、Miniflare、Cloudflare Vite 外掛與 Vitest Pool Workers,都會忽略這兩個已多餘的旗標
- 把相容日期往後調之前,建議先在測試環境跑一遍:新的相容日期可能還包含其他行為變更,這則公告只談 Node.js 相容的部分
- 內建 API「可用」不代表每個行為都和真正的 Node.js 完全一樣,細節請看官方的 Node.js 相容文件
我的看法
這個改變很貼心:以前新手遇到的第一個坑,常常是裝了一個很普通的 npm 套件,部署後卻跳出「找不到某個 node: 模組」,才發現要加旗標。現在新專案預設就沒有這個坑。
但「預設開啟」也有一個副作用:你的 Worker 現在能引入更多本來引入不了的套件,bundle 可能變大、啟動時間也可能受影響。我會建議在更新相容日期之後,順手看一下部署後的大小與冷啟動表現,不要只看功能有沒有跑起來。
名詞小辭典
- Workers:Cloudflare 的無伺服器執行環境,程式會在離使用者近的機房執行。
- 相容日期(Compatibility date):用日期固定 Workers 執行環境行為的設定。
- npm:JavaScript 的套件管理平台,上面有大量現成的函式庫。
- Wrangler:Cloudflare 提供的命令列工具,用來開發與部署 Workers。
資料來源
常見問題
相容日期(compatibility date)是什麼?
Workers 用一個日期來固定執行環境的行為:設定哪天,就套用那天的行為版本。這樣 Cloudflare 更新執行環境時,你的 Worker 不會突然被改變行為,要升級時自己調整日期。
我現有的 Worker 會被改掉嗎?
不會。官方說相容日期早於 2026-08-04 的 Worker 不受影響;只有你把相容日期更新到 2026-08-04 或之後,才會預設啟用。
如果我不想要 Node.js 相容怎麼辦?
官方的做法是移除原有的 nodejs_compat 與 nodejs_compat_v2 旗標,再加上 no_nodejs_compat 與 no_nodejs_compat_v2 這兩個關閉用旗標。
接著讀
全部觀點 →Cloudflare 新 CLI「cf」公開測試:一個指令工具管整個 API,Wrangler 進入倒數Cloudflare 推出新命令列工具 cf 的公開 Beta,涵蓋近 3,000 個 API 操作、預設輸出 JSON,還能讓 AI 代理用白話搜尋指令。Wrangler 會在 Beta 結束後出最後一個大版本,之後再維護 18 個月。閱讀 →Cloudflare Workers 大小上限放寬到 64 MiB:免費方案不再卡 3 MB,但 1 秒啟動限制還在Cloudflare 拿掉 Workers「壓縮後 3 MB(免費)/10 MB(付費)」的部署上限,改成只看未壓縮的 64 MiB,所有方案一樣。依賴多的框架比較好部署,但全域程式碼仍要在 1 秒內跑完。閱讀 →Cloudflare Workers 的排程工作本機就能測:Local Explorer 點一下觸發 Cron,AI 代理也能呼叫Cloudflare 讓本機開發用的 Local Explorer 可以手動觸發 Worker 的 Cron 排程,不必等時間到、也不用自己組網址;同時提供 API,讓腳本與 AI 代理也能觸發測試。閱讀 →