NodeJS 的環境變數

可以透過下列指令看出目前的環境變數:

console.log(process.env);

// 在程式中設定變數
process.env.MY_VARIABLE = 'ahoy';
const app = require('http').createServer((req, res) => res.send('Ahoy!'));
const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
  console.log(`Server is listening on port ${PORT}`);
});

自行設定環境變數

  • 可以在目錄下建立 .env 檔案,將要使用到的變數設在此檔內
  • 由於開發環境不同,因此可以將 .env 加入 .gitignore中,不需同步到其他台機器中
APPNAME=testenv
NODE_ENV=production
FOO=bar

使用 dorenv

  • 安裝
npm install dotenv --save
if (process.env.NODE_ENV !== 'production') {
  require('dotenv').load();
}

package.json 設定

 "scripts": {
    "start": "if-env NODE_ENV=production ?? npm run start:prod || npm run start:dev",
    "start:dev": "nodenv -f .",
    "start:prod": "node ."
  }

    // 啟動
    npm install if-env --save
    // 啟動方式
    NODE_ENV=production npm start