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,
});
// ...