(10)开发环境和生产环境BLOG实现项目功能--源码目录└──config--配置文件├──development.json--开发环境配置├──default.json--默认配置├──production.json--生产环境配置└──custom-environment-variables.json--私有环境变量├──model--数据库操作├──public--静态资源├──route--路由├──views--Template└──app.js--创建网站服务设置环境变量app.js获取环境变量,返回值是一个对象。node_env(development开发环境&production生产环境)打印客户端信息到控制台npminstallmorgan引入这个第三方模块并引入config。第三方模块使用npminstallconfig命令下载模块。在项目根目录下新建config文件夹。在config文件夹下新建default.json、development.json和production.json文件。传入项目require方法,导入模块使用模块内部提供的get方法获取配置信息//importmorgan,第三方模块constmorgan=require('morgan');//导入config模块constconfig=要求(“配置”);console.log(config.get('title'))//获取系统环境变量返回值是一个对象if(process.env.NODE_ENV=='development'){//当前是开发环境console.log('currentlyDevelopmentenvironment')//在开发环境下,将客户端向服务端发送的请求信息打印到控制台app.use(morgan('dev'))}else{//当前在生产环境console.log('currentlyProductionenvironment')}development.json开发环境部分链接的默认配置信息{"db":{"user":"itcast","host":"localhost","port":"27017","name":"blog"}}connect.js导入config模块//第三次引入mongoosepartyModuleconstmongoose=require('mongoose');//导入配置模块constconfig=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('databaseconnectionfailed'))custom-environment-variables.json将敏感的配置信息存储在环境变量中。项目中的一些敏感信息,比如数据库账号密码等,发送给项目中的其他人,其他人可以登录修改数据库。在config文件夹中创建custom-environment-variables.json文件是不安全的。配置项属性的值填写系统环境变量的名称。项目运行时,config模块查找系统环境变量,读取Value作为当前配置项所属的值{"db":{"pwd":"APP_PASSWORD"}}
