Node 中介軟體
Qwik City Node 中介軟體可讓您將 Qwik City 連線至使用常見中介軟體功能的 Node.js 伺服器。部分 Node 伺服器包括
安裝
要整合 node
adapter,請使用 add
命令
- 適用於 Express
npm run qwik add express
- 適用於 Fastify
npm run qwik add fastify
生產環境建置
要建置生產環境的應用程式,請使用 build
命令,這個命令會自動執行 npm run build.server
和 npm run build.client
npm run build
開發環境執行
要部署開發環境的應用程式
npm run serve
生產環境部署
由於您選擇了 Node,在執行 npm run build
之後,這裡就由您自己決定了
- 將會建立
dist
資料夾,其中包含所有靜態檔案。 - 將會建立
server
資料夾,其中包含所有節點伺服器檔案。
為了部署伺服器,您需要在您選擇的伺服器中執行 server/entry.[server].js
檔案,其中 [server]
可以是 express 或 fastify。
正確設定 ORIGIN
環境變數非常重要,它用於檢查 CSRF 攻擊。來源必須與用戶端應用程式的來源相符。
例如,如果您打算將應用程式部署到
https://example.com/app
,則需要將ORIGIN
環境變數設定為https://example.com
。ORIGIN=https://example.com node server/entry.express
CSRF 防護
根據預設,所有 Qwik City 應用程式都會針對所有 POST、PATCH、DELETE 表單提交受到 CSRF 攻擊的保護。
此保護預設為啟用狀態,這也是為什麼您需要在部署生產環境的應用程式時設定 ORIGIN
環境變數的原因。
如果您想停用 CSRF 保護,可以在 src/entry.preview.tsx
或 src/entry.[server].tsx
中的 createQwikCity()
選項中設定 checkOrigin: false
entry.preview.tsx
// ...
const { router, notFound, staticFile } = createQwikCity({
render,
qwikCityPlan,
manifest,
checkOrigin: false,
});
// ...