このブログははてなブログからの移行記事です。
nodeのコード中で環境変数を書き換えたい
そう思って以下の様なことをしてみました。
process.env.LOCAL_ENV = undefined; /* ~略~ */ if (_.isUndefined(process.env.LOCAL_ENV)) { console.log('LOCAL_ENV is not specified'); }
しかし何回やってもprocess.env.LOCAL_ENV
にundefinedが入ってることにならない…
process.env.HOGE
にはstring型しか入らない
きちんとDocumentに書いてありました。
process Node.js v6.1.0 Manual & Documentation
process.env
から生えるオブジェクトをundefined
にしたい場合は何を代入してもstring
型になるのでdelete
句を使う必要があります。
// 間違い ('undefined'という文字列がセットされるだけ) process.env.LOCAL_ENV = undefined; // こうするべき delete process.env.LOCAL_ENV;
テスト書いてるとき見事にハマりました。。。 よく考えればわかることだった。。。