Viteのdefineを使ってGlobalな定数を定義するのにちょっとハマったのでメモ📝
例えばViteの実行時にしていたmode
に合わせてNODE_ENV
のような定数をグローバルに定義したい場合は以下のようにすればOKです👍
export default defineConfig(({ command, mode }) => { define: { NODE_ENV: `"${mode}"`, }, }; });
文字列を渡したとしても明示的にセミコロンを付与してあげる必要があるようです。
文字列の値は純粋な式として評価されるので、文字列の定数を定義する場合は、明示的に引用符で囲う必要があります https://ja.vitejs.dev/config/shared-options.html#define
TypeScriptを使っている場合は型エラーにならないように以下のように型定義も必要です⚠
// global.d.ts declare const NODE_ENV: "development" | "test" | "production";
おわり。