dotenv + Joi 进行Node服务端相关配置

2019-03-13  本文已影响0人  R_X

一、dotenv

通过一个.env文件,将所有启动配置项写入process.env中。

2、 .env 配置文件
PORT=4040
NODE_ENV=development

// 2、引入 dotenv,并使用 相应配置

require('dotenv').config();
console.log(process.env.PORT); // 4040
console.log(process.env.NODE_ENV);  // development

二、Joi

参数格式定义及校验

// 定义参数 schema
const envVarsSchema = Joi.object({
  NODE_ENV: Joi.string()
    .allow(['development', 'production', 'test', 'provision'])
    .default('development'),
  PORT: Joi.number()
    .default(4040)
});
// 结合 `dotenv`,进行 配置参数校验
const { error, value: envVars } = Joi.validate(process.env, envVarsSchema);
if (error) {
  throw new Error(`Config validation error: ${error.message}`);
}
const config = {
  env: envVars.NODE_ENV,
  port: envVars.PORT
};

module.exports = config;
上一篇下一篇

猜你喜欢

热点阅读