node.js 環境変数を使う設定
環境変数の使い道
GitHubでソースコードを公開するにあたり、後悔したくない情報をローカル環境のみで使う為
他の人がGitHubかたcloneしてくれた時に、それぞれの環境で動かしやすくする為
デプロイする時にデプロイするサーバーにそれぞれの環境変数を設定すればデプロイ時用にソースコードを書き換えなくて済む
code:例.ts
const myPort = process.env.MY_PORT;
// デプロイ環境ではデプロイ環境のMY_PORTに設定している値を取得する
// ローカル環境ではローカル環境のMY_PORTに設定している値を取得する
GitHubのどこかに使い方の一環として、環境変数ファイルを用意すること、用意する変数名、どのような値かを記載しておくと親切
dotenvをインストール
yarn add -D dotenv
rootに.envファイルを作成する
code: .env
DEVICE_TYPE=pc
GitHubで公開する場合は.envファイルを公開しないこと
code:.gitignore
.env
環境変数を使うファイルで
import dotenv from 'dotenv';
dotenv.config()
process.env.DEVICE_TYPE // pc
環境変数に型をつける方法
process.envで呼び出す値は基本(string | undefind)型なので数値型やリテラル型(例 type deviceType = "pc" | "smartphone" | "tablet";)を使いたい時に型を付けられると便利・安全
型定義ファイルを作る
code:types/processEnv.d.ts
declare global {
namespace NodeJS {
interface ProcessEnv {
readonly DEVICE_TYPE: "pc" | "smartphone" | "tablet";
readonly DEVICE_AMOUNT: number;
}
}
}
作った型定義ファイルを参照する
code:tsconfig.json
{
"compilerOptions": {
//
//
}
}