开发环境与生产环境
1. 什么是开发环境与生产环境
- 环境, 就是指项目运行的地方, 当项目处于开发阶段, 项目运行在开发人员的电脑上, 项目所处的环境就是开发环境; 当项目开发完成以后, 要将项目放到真实的网站服务器电脑中运行, 项目所处的环境就是生产环境。
2.为什么要区分开发环境与生产环境
- 因为在不同的环境中,项目的配置是不一样的,需要在项目代码中判断当前运行的环境,根据不同的环境应用不同的项目配置。
3. 如何区分开发环境与生产环境
- 通过电脑操作系统中的系统环境变量区分当前是开发环境还是生产环境
const morgan = require('morgan')
// 获取系统环境变量, 返回值是对象
if (process.env.NODE_ENV === 'development') {
// 当前是开发环境
console.log('当前是开发环境')
// 在开发环境中, 将客户端发送到服务器端的请求信息打印到控制台中
app.use(morgan('dev'))
} else {
// 当前是生产环境
console.log('当前是生产环境')
}
4. 第三方模块config
- 作用:允许开发人员将不同运行环境下的应用配置信息抽离到单独的文件中,模块内部自动判断当前应用的运行环境,并读取对应的配置信息,极大的提供应用配置信息的维护成本,避免了当运行环境重复的多次切换时,手动到项目代码中修改配置信息。
- 使用步骤
- 使用
npm i config
命令下载模块 - 在项目的根目录下新建config文件夹
- 在config文件夹下面新建
default.json, development.json, production.json文件
- 在项目中导入模块
- 使用模块内部提供的get方法获取配置信息
- 使用
- 将敏感配置信息存储在环境变量中
- 在config文件夹中简历custom-environment-variables.json文件
- 在配置项属性的值填写系统环境变量的名字
- 项目运行时config模块查找系统环境变量, 并读取其值作为当前配置项属于的值
{
"db": {
"pwd": "APP_PASSWORD"
}
}