ノードミドルウェア
Qwik City のノードミドルウェアを使用すると、一般的なミドルウェア機能を使用する Node.js サーバーに Qwik City を接続できます。いくつかの 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フォルダーが作成されます。
サーバーをデプロイするには、選択したサーバーで server/entry.[server].js ファイルを実行する必要があります。ここで、[server] は express または fastify です。
CSRF攻撃に対するチェックに使用される ORIGIN 環境変数を正しく設定することが**非常に重要**です。オリジンは、クライアントアプリケーションのオリジンと一致する必要があります。
たとえば、アプリケーションを
https://example.com/appにデプロイする予定の場合は、ORIGIN環境変数をhttps://example.comに設定する必要があります。ORIGIN=https://example.com node server/entry.express
Docker を使用したデプロイ方法はこちらをご覧ください。
CSRF保護
デフォルトでは、すべての Qwik City アプリケーションは、すべての POST、PATCH、DELETE フォーム送信に対してCSRF攻撃から保護されています。
この保護はデフォルトで有効になっており、本番環境にアプリケーションをデプロイする際に ORIGIN 環境変数を設定する必要がある理由です。
CSRF保護を無効にする場合は、src/entry.preview.tsx または src/entry.[server].tsx の createQwikCity() オプションで checkOrigin: false を設定できます。
// ...
const { router, notFound, staticFile } = createQwikCity({
  render,
  qwikCityPlan,
  manifest,
  checkOrigin: false,
});
// ...






