Node项目区分开发环境和生产环境

一、区分当前的环境

  项目会区分开发环境、生产环境与测试环境,那在Node项目中,应该从哪里进行环境的区分呢?

  Node项目会读取电脑系统中的环境变量,所以可以在环境变量中新建系统变量NODE_ENV,值为development表示开发环境,值为production表示为生产环境。
  在这里插入图片描述
  那在代码中如何获取环境变量呢?

// 获取当前的环境 开发环境 还是生产环境
console.log(process.env.NODE_ENV);

二、打印请求信息

  如果想要把客户端发送到服务器端的请求信息打印到控制台中,可以使用第三方模块morgan。

  1.安装npm install morgan

  2.引用const morgan = require('morgan')

  3.使用中间件拦截所有的请求app.use(morgan('dev'))

  打印出的请求信息:
  在这里插入图片描述
  当然,这个可以设置为在开发环境下进行打印,如果是生产环境的话就不需要配置这些信息了。

三、config配置模块

  1.安装config配置模块:npm install config

  2.项目目录中新建config文件夹,新建default.json, development.json, production.json文件,添加不同环境下的不同配置信息

{
    "title": "博客管理系统---开发环境"
}
{
    "title": "博客管理系统---生产环境"
}

  3.app.js中引入config配置模块const config = require('config')

  4.获取配置文件中的信息config.get('title')

  config模块会读取当前的系统环境,如果是开发环境的话会去development.json中读取title属性,如果文件中没有title属性,会去default.json中读取

  5.config允许将敏感配置信息(如密码)存储在环境变量中

  在config文件夹中建立custom-environment-variables.json文件,配置项属性的值填写系统环境变量的名字
  在这里插入图片描述
  这样,在其他json文件中就不需要写密码这一项了,而且密码也没有直接暴露出来,在一定程度上保证了安全性。

原创文章 212 获赞 138 访问量 9万+

猜你喜欢

转载自blog.csdn.net/m0_37508531/article/details/104939281