(十)项目功能的实现之开发环境与生产环境
BLOG -- 源码目录
└── config -- 配置文件
├── development.json --开发环境配置
├── default.json --默认配置
├── production.json --生产环境配置
└── custom-environment-variables.json --私密环境变量
├── model -- 数据库操作
├── public -- 静态资源
├── route -- 路由
├── views -- 模板
└── app.js -- 创建网站服务
设置环境变量
app.js
- 获取环境变量,返回值是对象.node_env(development开发环境&production生产环境)
- 将客户端信台息打印到控制台中
npm install morgan
导入这个第三方模块 引入config第三方模块
- 使用npm install config命令下载模块
- 在项目的根目录下新建config文件夹
- 在config文件夹下面新建default.json、development.json、production.json文件
- 在项目中通过require方法,将模块进行导入
- 使用模块内部提供的get方法获取配置信息
// 导入morgan这个第三方模块
const morgan = require('morgan');
// 导入config模块
const config = require('config');
console.log(config.get('title'))
// 获取系统环境变量 返回值是对象
if (process.env.NODE_ENV == 'development') {
// 当前是开发环境
console.log('当前是开发环境')
// 在开发环境中 将客户端发送到服务器端的请求信息打印到控制台中
app.use(morgan('dev'))
} else {
// 当前是生产环境
console.log('当前是生产环境')
}
development.json
- 对开发环境的一些链接的默认进行配置信息
{
"db": {
"user": "itcast",
"host": "localhost",
"port": "27017",
"name": "blog"
}
}
connect.js
- 导入config模块
// 引入mongoose第三方模块
const mongoose = require('mongoose');
// 导入config模块
const config = require('config');
console.log(config.get('db.host'))
// 连接数据库
mongoose.connect(`mongodb://${config.get('db.user')}:${config.get('db.pwd')}@${config.get('db.host')}:${config.get('db.port')}/${config.get('db.name')}`, {useNewUrlParser: true })
.then(() => console.log('数据库连接成功'))
.catch(() => console.log('数据库连接失败'))
custom-environment-variables.json
- 将敏感配置信息存储在环境变量中,项目中有些敏感信息,如数据库的账号密码等,把项目发送给别人,别人能登陆修改数据库,不安全
- 在config文件夹中建立custom-environment-variables.json文件
- 配置项属性的值填写系统环境变量的名字
项目运行时config模块查找系统环境变量,并读取其值作为当前配置项属于的值
{
"db": {
"pwd": "APP_PASSWORD"
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。