🔧

Vite でビルドしたSSRサーバーを Node.js で実行時に環境変数を読み込む

2024/10/23に公開

ハマったのでメモ

結論

明示的にnodeのprocessをimportする。

例:環境変数に設定したPORTを読み込みたいとき

import process from 'node:process' // or from 'process'
const port = process.env.PORT // ex. 3000

ハマった

import.meta.env

Viteではimport.meta.envで環境変数が取れるが、ビルド時に展開されてしまう。今回はビルドしたコードを実行するときの環境変数が取りたいのでコレジャナイ。

process.env

nodeで環境変数を取得するといえばこれ。

こんな感じのコードを書いていると

console.log(process.env.PORT)

ビルドしたコードは次のようになる

var define_process_env_default = {};
console.log(define_process_env_default.PORT);

参考

おわりに

HonoX を node on Cloud Run で動かそうと試し中に遭遇。そっちもいろいろ固まったらzennにまとめたい。

株式会社hitocolor

Discussion