@darkobits/env

中文文档
2.0.0发布于 2023/07/15HippocraticTypeScriptES Module零依赖近 30 天下载 5918

功能环境可变得到器/parser.

中文使用文档
文档目录5 节
  1. 特征
  2. 安装
  3. 使用
  4. env.has
  5. env.eq

函数获取器/参数 process.env。 。 。 .

特征

  • 将数字式的数值铸成数字.
  • 铸币 "true" 财务报告和审定财务报表 "false" {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}给布林斯的.
  • (原始内容存档于2018-03-27). Parses JSON.
  • 丢弃,如果 process 或者说 process.env 是非对象.
  • (备选) 如果变量未定义则丢出 .

安装

$ npm i @darkobits/env

使用

此包的默认导出是以下签名的函数:

interface Env {
  (variableName: string, strict: boolean = false): any;
  has(variableName: string): boolean;
  eq(variableName: string, value: any, strict: boolean = false): boolean;
}

铭记价值观 process.env 可能只是字符串假设 process.env 看起来像这样:

{
  "FOO": "foo",
  "BAR": "42",
  "BAZ": "true",
  "QUX": "false",
  "JSON": "{\"kittens\": true}"
}
import env from '@darkobits/env';

env('FOO')         //=> 'foo'
typeof env('FOO')  //=> 'string'

env('BAR')         //=> 42
typeof env('BAR')  //=> 'number'

env('BAZ')         //=> true
typeof env('BAZ')  //=> 'boolean'

env('QUX')         //=> false
typeof env('BAZ')  //=> 'boolean'

env('JSON')        //=> {kittens: true}
typeof env('JSON') //=> 'object'

env('NOAP')        //=> undefined
env('NOAP', true)  //=> throws

// Throws if process.env has been tampered-with.
process.env = null;
env('FOO')         //=> throws

// Throws if process has been tampered-with, or if process doesn't exist.
process = null;
env('FOO')         //=> throws

env.has

此帮助的上游是 Object.keys(process.env).includes(x)返回时返回 true 如果提供的可变名称存在于 process.env 财务报告和审定财务报表 false 否则。 当您不关心变量的值是多少时, 不管是设定与否, 都是有益的 .

用我们的例子 process.env 上面的对象 :

env.has('FOO') //=> true
env.has('UNICORNS') //=> false

env.eq

此帮助的上游是 env(variableName) === value返回时返回 true 如果提供的可变名称存在于 process.env 且与所提供的价值相等 false 否则。 需要快速测试环境变量值时有用 。 第三个 strict 参数可能设置为 true 导致 env.eq 如果提供的变量不存在于 process.env。 。 。 .

说明: 当与非原始对象(对象、阵列)进行比较时, env.eq 将序列化所提供的 value 并比较环境变量的序列(re:字符串)形式.

用我们的例子 process.env 上面的对象 :

import env from '@darkobits/env';

env.eq('FOO', 'foo') //=> true
env.eq('BAR', 42)    //=> true
env.eq('BAR', null)  //=> false
env.eq('BAZ', true)  //=> true
env.eq('JSON', {kittens: true}) //=> true

版本与发布记录

@darkobits/env 共发布 13 个版本,首次发布于 2018/06/27;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.0latest2023/07/153 年前
1.3.52021/08/125 年前
1.3.42020/12/215 年前
1.3.32020/12/165 年前
1.3.22020/06/086 年前
1.3.12020/04/236 年前

关于 @darkobits/env 的常见问题

@darkobits/env 是什么?

功能环境可变得到器/parser.

如何安装 @darkobits/env?

在项目目录运行 npm install @darkobits/env,或使用 pnpm add / yarn add / bun add。

@darkobits/env 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@darkobits/env 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@darkobits/env 可以商用吗?

@darkobits/env 使用 Hippocratic 许可。声明的许可为 Hippocratic,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@darkobits/env 的下载量有多少?

根据 npm 官方下载统计,@darkobits/env 在 2026/10/12 – 2026/11/10 这 30 天内被下载 5,918 次,日均约 197 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@darkobits/env 还在维护吗?

最新版本 2.0.0 发布于 2023/07/15(3 年前);至今共发布 13 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/06/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。