Node 中间件

Qwik City Node 中间件允许您将 Qwik City 连接到使用常见中间件功能的 Node.js 服务器。一些 Node 服务器包括:

安装

要集成 node 适配器,请使用 add 命令:

npm run qwik add express
npm run qwik add fastify

生产构建

要为生产环境构建应用程序,请使用 build 命令,此命令将自动运行 npm run build.servernpm run build.client

npm run build

开发部署

要部署开发环境的应用程序:

npm run serve

生产部署

由于您选择了 Node,所以在运行 npm run build 之后,您将独自操作:

  • dist 文件夹将被创建,其中包含所有静态文件。
  • server 文件夹将被创建,其中包含所有 Node 服务器文件。

为了部署服务器,您需要在所选择的服务器中运行 server/entry.[server].js 文件,其中 [server] 可以是 expressfastify

非常重要的是正确配置 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,
});
// ...

Contributors

Thanks to all the contributors who have helped make this documentation better!

  • adamdbradley
  • manucorporat
  • mousaAM
  • reemardelarosa
  • mhevery