首页 > 其他分享 >env-schema 环境变量check npm 包

env-schema 环境变量check npm 包

时间:2023-10-17 16:24:03浏览次数:32  
标签:npm const check PORT env 环境变量 schema

基于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

标签:npm,const,check,PORT,env,环境变量,schema
From: https://www.cnblogs.com/rongfengliang/p/17770009.html

相关文章

  • vue学习3 npm创建项目
    创建项目安装最新node.js最新稳定版本创建项目文件加,在文件即下cmd输入命令npmcreatevite@latestfirstweb或者npminitvite@latestfirstweb然后选择vue。然后选择typecript/JavaScript,然后在文件夹下就创建好了项目文件  使用vscode打开该目录输入命令npmi......
  • Jestson Nano上基于openvino推理
    intelNCS2计算棒是由openvino支持的,但是目前openvino只有2022.3.1版本支持NCS2了,之后的版本都不支持计算棒了。本文记录一下再NVIDIAJetsonNano上用openvino实现NCS2的调用。通过交叉编译openvinosamples,通过benchmarkapp实现模型推理。环境配置openvino归档文件,可以再......
  • yarn和npm对比
    Yarn和npm都是JavaScript的包管理工具,由不同的公司开发和维护。它们之间有一些相似之处,但也存在一些显著的区别。在功能上,npm和Yarn有许多共同的特性,如安装依赖、全局安装等。然而,它们在处理依赖关系的方式上存在差异。对于npm和yarn,它们将为每个项目的node_modules文件......
  • 为.NET打开新大门:OpenVINO.NET开源项目全新发布
    在AI的应用越来越广泛的今天,优化深度学习模型并进行推理部署已经成为了一门必要的技术。Intel开发的OpenVINO工具包(OpenVisualInferenceandNeuralnetworkOptimization)就是这样一款强大的工具。作为一个开源的工具包,OpenVINO为开发者提供了强大的深度学习模型优化和推理功能,......
  • 为.NET打开新大门:OpenVINO.NET开源项目全新发布
    为.NET打开新大门:OpenVINO.NET开源项目全新发布在AI的应用越来越广泛的今天,优化深度学习模型并进行推理部署已经成为了一门必要的技术。Intel开发的OpenVINO工具包(OpenVisualInferenceandNeuralnetworkOptimization)就是这样一款强大的工具。作为一个开源的工具包,OpenVINO为......
  • MySQL错误:check the manual that corresponds to your MySQL server version for the
    在MySQL执行以下SQL报错DELIMITER//CREATEPROCEDUREgenerate_and_insert_data()BEGINDECLAREiINTDEFAULT1;DECLAREjINTDEFAULT1;DECLAREtotal_iterationsINTDEFAULT1000;WHILEi<=total_iterationsDO--创建临时表用于存储生成......
  • python自带工具 venv 简明教程
    在Python中,代码可能依赖特定版本的包,如果代码a和代码b依赖包c的不同版本,这个时候就会导致a和b无法共存,也就是a和b存在冲突。用venv解决办法就是,创建2个不同的虚拟环境来分别存放a和b,这样就可以解决问题了。以这个问题为例,简单说明如何使用venv,需要特别说明的是:v......
  • npm安装依赖报错npm ERR code ENOTFOUND npm ERR errno ENOTFOUND
    第一种方法:1:执行:npmconfiggetproxynpmconfiggethttps-proxy如两个返回值都为null,则直接执行第二步,要确保两个返回值都是null才可以,否则就要执行下面的代码:npmconfigsetproxynullnpmconfigsethttps-proxynull2:执行npmconfigsetregistryhttp://regis......
  • 万户OA SendFileCheckTemplateEdit-SQL注入
    漏洞简介万户OA存在SendFileCheckTemplateEdit-SQL注入,该漏洞为前台漏洞漏洞复现fofa语法:app="万户ezOFFICE协同管理平台"登录页面如下:POC:/defaultroot/public/iWebOfficeSign/Template/SendFileCheckTemplateEdit.jsp?RecordID=1'%20UNION%20ALL%20SELECT%20sys.fn_sqlvar......
  • Mac上使用jenv管理多个java版本
    Mac上可以使用Homebrew安装jenvbrewinstalljenv配置jenv的环境变量,向~/.profile(bash用户)或者~/.zshrc(zsh用户)文件中添加如下代码exportPATH="$HOME/.jenv/bin:$PATH"eval"$(jenvinit-)"使用如下命令添加java_home的路径到jenvjenvadd/Library/Java/JavaVirtual......