"dev": "cross-env NODE_ENV=development nodemon app.js", "start": "cross-env NODE_ENV=production nodemon app.js"
在开放源代码存储库中使用敏感信息而不在公共可用存储库中对信息进行硬编码的最佳方法之一是设置环境变量。 在服务器上设置环境变量,然后在应用程序中通过键检索它们。
使用Node.js时,可以通过键从process.env对象检索环境变量:
var mode = process.env.mode; // 'PRODUCTION', for example
var apiKey = process.env.apiKey; // '38294729347392432'
process.env.mode = 'TESTING';
查看所有环境变量
env
查看单个环境变量(以 USER 为例)
echo $USER
返回当前用户名称。
设置单个环境变量(以 NODE_ENV 为例)
export NODE_ENV=production
设置 NODE_ENV 为 ‘production’
删除单个环境变量(以 NODE_ENV 为例)
unset NODE_ENV
demo
使用 变量 决定 数据库密码等操作
这不是一个好的例子 密码应该使用环境变量保护
const PRODUCTION = process.env.NODE_ENV == "production";
const db = mysql.createPool({
host: "localhost",
user: "root",
password: PRODUCTION ? "136136" : "HelloHongbin",
database: "HData"
});
设置变量后开启服务
"scripts": {
"dev": "export NODE_ENV=development && node app.js",
"pro":"export NODE_ENV=production && node app.js"
},