Madogiwa Blog

主に技術系の学習メモに使っていきます。

Viteのdefineを使ってGlobalな定数を定義する

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";

おわり。

参考

blog.recruit.co.jp