Open1
SolidStartで、.envを取得する
結論
app.configでenv.config.tsを読み込み、viteのコンフィグ中の define:
にセットすればOK。
env.ts
(省略)
この中で、条件や環境変数によって、本番とテスト用で取得する変数の切り分けなどを行います。
//例
export const env = {'__APP_CONFIG__': 'https://sample.com'};
app.config.ts
const loadedEnvModule = await import('./env');
...
vite: {
define: {
'__APP_CONFIG__': JSON.stringify(loadedEnvData.env)
},
}
global.d.ts
// define で注入されるグローバル変数の型を宣言
declare global {
const __APP_CONFIG__: AppConfig & Env; // define は文字列として置換するため string 型
}
以上の設定で、利用できるようになります。
sample.ts
const baseUrl = __APP_CONFIG__.BASE_URL;