小ネタ。
以前の記事でesbuildのビルドスクリプトを記載したが、環境毎(開発環境、本番環境など)で定義を変えたい場合の話。
最適解でないかもしれないが、とりあえず以下のようにしてる。
ビルドスクリプトと同じディレクトリに環境毎の設定を記載したjsファイルを作成。
ビルドスクリプトでは、上記設定を読み取って、ビルド時の引数から開発 or 本番かを判定し、該当環境の設定値をesbuidのDefineオプションに設定する。
(以前の記事でのビルドスクリプトから、以下5、10-14、19行目を追加。)
設定するキーは「process.env.APP_ENV_」を接頭辞にする。値がstring型だったら、アプリ側で置換したときに文字列として置換できるように、引用符「”」付きで値を設定。(上記13行目)
アプリ側では、「process.env.APP_ENV_~」で値を取得するようにする。ビルドしたらここの値が実際の値に置換される。
以上です。