NestJS を使用した Reveal SDK サーバーの設定
NestJS を使用した Reveal SDK の設定
このガイドでは、Reveal SDK を NestJS プロジェクトに統合する手順を説明します。以下の手順に従って、NestJS サーバーに強力なデータ分析機能を追加します。
手順 1 - NestJS プロジェクトの作成
- まず、まだインストールしていない場合は、NestJS CLI をグローバルにインストールします。
npm install -g @nestjs/cli
- 以下のコマンドを実行して、新しいプロジェクトを作成します。
nest new reveal-nest-server
- コマンドライン パスを新しく作成したプロジェクト ディレクトリに変更します。
cd reveal-nest-server
手順 2 - Reveal SDK のインストール
- NestJS プロジェクト ディレクトリ内に、Node.js 用の Reveal SDK をインストールします。
- npm
- Yarn
- pnpm
npm install reveal-sdk-node
yarn add reveal-sdk-node
pnpm add reveal-sdk-node
手順 3 - main.ts
ファイルの変更
Reveal SDK を統合するには、main.ts
ファイルを直接変更し、CORS を有効にして Reveal SDK ルートを追加します。
-
src/main.ts
ファイルを開きます。 -
bootstrap
関数を更新して、Reveal SDK を構成します。
src/main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import reveal from 'reveal-sdk-node';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors(); // DEVELOPMENT only! In production, configure appropriately.
app.use("/", reveal());
// Start the server
await app.listen(process.env.PORT ?? 5111);
console.log(`Reveal SDK server running on http://localhost:${process.env.PORT ?? 5111}`);
}
bootstrap();
この設定により、Reveal SDK が /
の下のルートを処理するように構成されます。CORS ポリシーもグローバルに有効化され、他のオリジンからのリクエストを許可します。
注記
tsconfig.json ファイルで "esModuleInterop": true,
を設定する必要がある場合があります。
手順 4 - ダッシュボード フォルダーの作成
Reveal SDK では、ダッシュボード ファイルが作業ディレクトリ内の dashboards という名前のフォルダーに保存されることを想定しています。
- プロジェクトのルート ディレクトリに、
dashboards
という名前のフォルダーを作成します。
mkdir dashboards
このフォルダーに任意の Reveal ダッシュボードを保存でき、サーバー経由でアクセスできるようになります。この動作を変更する必要がある場合は、カスタム IRVDashboardProvider
を作成できます。
手順 5 - NestJS サーバーの起動
- 以下のコマンドを実行して NestJS サーバーを起動します。
npm run start
あるいは、開発モードの場合は、ライブリロードを有効にしてサーバーを実行します。
npm run start:dev
これで、NestJS サーバーが実行され、Reveal SDK は http://localhost:5111/
でリクエストを処理する準備が整いました。
Get The Code
このサンプルのソース コードは GitHub にあります。