問題
Exposing configuration to the server / client side
で通常は問題ないが、now
をしてnow.sh
にデプロイするとprocess.env
で設定した変数が見えなくなる。
解決方法
now.json
でsecrets
を使う。
next.config.js
require("dotenv").config()
module.exports = {
env: {
// これは `yarn dev` `yarn build && yarn start` `now`どこでも動く
STATIC_ENV: "static value",
// これは `now`すると見えなくなる
FROM_DOT_ENV: process.env.FROM_DOT_ENV,
},
}
now.jsonを追加して
now.json
{
"build": {
"env": {
"FROM_DOT_ENV": "@from-dot-env"
}
}
}
Adding Secrets
now secrets add from-dot-env 'from now secret'
を走らせる。
[注意]
now secrets add FROM-DOT-ENV 'from now secret'
と大文字でやっても、小文字で保存される
now secrets ls
で確認出来る。
その後にnow
をすると、now.shでもprocess.env.FROM_DOT_ENV
が見える。