Nuxt.jsで環境変数の設定にdotenvを使ってたときの備忘録。
起こった現象
ソースディレクトリの場所を変えようと、
nuxt.config.tsにsrcDirを設定したら、うまく動かず。。
ディレクトリはこんな感じ。
/ app/ .env nuxt.config.ts
nuxt.config.ts内では、process.envが設定されているけど、
app/のソース内では、process.envがちゃんと設定されない。。
試しに、.envをapp/配下に移動すると、逆の現象が...
/ app/ .env nuxt.config.ts
nuxt.config.ts内では、process.envが設定されず、
app/のソース内では、process.envが設定される。。
ちゃんとパスを設定する
dotenv-moduleをちゃんと設定しないといけないよう。。
公式ドキュメントのここに書いてあった。
import { Configuration } from "@nuxt/types"; require("dotenv").config(); const config: Configuration = { srcDir: "app", dotenv: { // pathを設定しないといけない path: process.cwd() } }
node -r dotenv/configを使う
公式ドキュメントにPreloadの方法があったので、それも試してみた。
nuxt.config.tsでrequire("dotenv").config();
をしなくても良くなる。
{ "scripts": { "dev": "node -r dotenv/config ./node_module/.bin/nuxt-ts", "build": "node -r dotenv/config ./node_module/.bin/nuxt-ts build", "start": "node -r dotenv/config ./node_module/.bin/nuxt-ts start", "generate": "node -r dotenv/config ./node_module/.bin/nuxt-ts generate", } }
以上!!