概要
NestJSは効率的で信頼性の高いバッグエンドを構築を可能にする、強力なNodejsフレームワークです。今回はdotenvライブラリを使用してNestJSアプリケーションで環境変数を扱う方法について説明したいと思います、次回は’@nestjs/config’モジュールを使用することについて説明したいと思います。
プロジェクトセットアップ
$ npm i -g @nestjs/cli <- 既に実行済みなら省略
$ nest new project-name
導入する
dotenvのインストール
$npm install dotenv
リッスンポートとMysqlに接続情報を持つ.envを用意します。
LISTEN_PORT=3000
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=testuser
DB_PASSWORD=testpasswd
DB_DATABASE=testdatabase
環境変数を読み込み
アプリケーションのメインファイル(通常はmain.ts
)で、dotenv
ライブラリを使用して.env
ファイルから環境変数を読み込みます。これはアプリケーションの最初に行う必要があります。
import * as dotenv from 'dotenv';
dotenv.config();
すると.envファイルの設定値を取得ができます。
環境変数からの値を利用
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as dotenv from 'dotenv';
dotenv.config();
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(process.env.LISTEN_PORT || 3000);
}
bootstrap();
実行してみます。
$ npm run start
> testdotenv@0.0.1 start
> nest start
[Nest] 27836 - ... LOG [NestFactory] Starting Nest application...
[Nest] 27836 - ... LOG [InstanceLoader] AppModule dependencies initialized +13ms
[Nest] 27836 - ... LOG [RoutesResolver] AppController {/}: +12ms
[Nest] 27836 - ... LOG [RouterExplorer] Mapped {/, GET} route +4ms
[Nest] 27836 - ... LOG [NestApplication] Nest application successfully started +3ms