学习如何在Node.js程序中读取和利用环境变量
环境变量特别有用,因为我们可以避免在代码中输入API密钥和其他合理的数据,并将其错误地推送到GitHub。
而像Vercel和Netlify(以及其他)这样的现代部署平台有办法让我们通过他们的接口添加环境变量。
Node的process 核心模块提供了env 属性,它承载了所有在进程启动时设置的环境变量。
下面是一个访问NODE_ENV环境变量的例子,该变量默认被设置为development 。
注意:
process不需要 "require",它是自动可用的
process.env.NODE_ENV // "development"
在脚本运行前将其设置为 "production "将告诉Node这是个生产环境。
以同样的方式,你可以访问你设置的任何自定义环境变量。
在这里,我们为API_KEY和API_SECRET设置了两个变量
API_KEY=123123 API_SECRET=456456 node app.js
我们可以在Node.js中通过运行以下程序获得它们
process.env.API_KEY // "123123"
process.env.API_SECRET // "456456"
你可以把环境变量写在一个.env 文件中(你应该把它添加到.gitignore ,以避免推送到GitHub),然后
并在你的主Node文件的开头,添加
require('dotenv').config()
这样,你就可以避免在node 命令前的命令行中列出环境变量,而这些变量会被自动拾取。
请注意,有些工具,例如Next.js,会让
.env中定义的环境变量自动出现,而不需要使用dotenv。