Next.jsにはnext.config.js
に環境変数を記述することが出来ます。
これを使用すると、development
環境とproduction
環境で参照する値を変更することが出来るので、便利です。
先日、nextjsで環境変数を定義するために、next.config.js
に以下のとおり、API_SERVER
を定義していました。
const {
PHASE_PRODUCTION_BUILD,
} = require("next/constants");
module.exports = (phase) => {
const isProd =
phase === PHASE_PRODUCTION_BUILD && process.env.STAGING !== "1";
return {
env: {
API_SERVER: isProd
? "https://api-server.com"
: "http://localhost:3000",
},
distDir: "build",
};
};
事前にyarn dev
をしてホットリロードを有効にしていたので、試しにconsole.log
でprocess.env.API_SERVER
を参照しようとしましたが、undefined
で参照出来ませんでした。build
は成功しているので、できそうですが、yarn dev
を一回停止して、再度起動するとうまく参照できました。
よく見たら以下のメッセージが出ていました。
> Found a change in next.config.js. Restart the server to see the changes in effect.
コメント