(十)我的项目性能的实现之开发环境与生产环境
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" }}