ノードミドルウェア

Qwik City のノードミドルウェアを使用すると、一般的なミドルウェア機能を使用する Node.js サーバーに Qwik City を接続できます。いくつかの 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 フォルダーが作成されます。

サーバーをデプロイするには、選択したサーバーで 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].tsxcreateQwikCity() オプションで checkOrigin: false を設定できます。

entry.preview.tsx
// ...
const { router, notFound, staticFile } = createQwikCity({
  render,
  qwikCityPlan,
  manifest,
  checkOrigin: false,
});
// ...

貢献者

このドキュメントの改善に貢献してくれたすべての貢献者に感謝します!

  • adamdbradley
  • manucorporat
  • mousaAM
  • reemardelarosa
  • mhevery
  • Craiqser
  • mrhoodz