乐趣区

关于前端:多人后台博客管理DAY10

(十) 我的项目性能的实现之开发环境与生产环境

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"}
}
退出移动版