Node 中间件
Qwik City Node 中间件允许您将 Qwik City 连接到使用常见中间件功能的 Node.js 服务器。一些 Node 服务器包括:
安装
要集成 node
适配器,请使用 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
文件夹将被创建,其中包含所有 Node 服务器文件。
为了部署服务器,您需要在所选择的服务器中运行 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.express.tsx
中的 createQwikCity()
选项中设置 checkOrigin: false
:
entry.express.tsx
// ...
const { router, notFound, staticFile } = createQwikCity({
render,
qwikCityPlan,
manifest,
checkOrigin: false,
});
// ...