env-schema 环境变量check npm 包

发布时间 2023-10-17 16:23:11作者: 荣锋亮

基于nodejs 的应用开发中基于环境变量的配置管理是很场景的,env-schema 是一个集成了json schema 以及dotenv 工具的一个npm包
可以增强基于dotenv 的配置管理(缺少check)

参考试用

  • app.js
 
const envSchema = require('env-schema')
const schema = {
    type: 'object',
    required: [ 'PORT' ],
    properties: {
      PORT: {
        type: 'number',
        default: 3000
      },
      NAME: {
        type: 'string',
        default: 'John'
      }
    }
}
 
const config = envSchema({
  schema: schema,
  dotenv: true // load .env if it is there, default: false
})
console.log(config)
  • .env 配置
PORT=33333
NAME=dalong
  • 运行

如果数据类型是正确的,会正常输出,如果有问题,输出就会抛出一个exception

 

说明

环境变量的check 在nodejs 应用中比较常见,包含了类型转换,类型检查,默认值,env-schema 是一个可选的工具,类似的工具包实际上很多,cube.js 框架中自己开发了独立的工具包

参考资料

https://www.npmjs.com/package/env-schema
https://github.com/fastify/env-schema