@bedrockio/config

中文文档
4.0.0发布于 2026/07/14MITTypeScriptCommonJS零依赖近 30 天下载 3147

节点配置

中文使用文档
文档目录5 节
  1. 安装
  2. 哲学
  3. 文件级联
  4. 使用量
  5. 方法

@ bedrockio/ 配置

安装

npm install @bedrockio/config

哲学

当你装入配置时 require 这个包,不是当你发射时 进程。 这是故意选择 诺德的本地人 --env-file 旗帜.

--env-file 仅适用于一个记得通过的程序 这个 将工程装入两个触发器: 一些文件装入 自动( 任何配置库在导入时读取) 和仅装入 当右旗在命令行。 失败模式是安静的——a "裸着" node script.js 仍然得到基础默认, 所以看起来它的工作, 却默默地错过了旗子上的每一层 节点有 (单位:千美元) 拒绝 自动加载 .env 默认情况下,所以每个调用旗的起落架不会消失.

装上整个级联在这里,上 require,删除拆分。 每个条目 点——服务器,一个工人,一个一次性的脚本——以同样的方式解析配置 没有旗帜可记.

文件级联

文件按顺序合并, 以后的文件获胜 :

  1. .env ——基础默认,承诺.
  2. .env.${ENV_NAME} ——每个环境覆盖(如:. .env.production, (中文(简体) ), 承诺. ENV_NAME 从外壳读取,或从底部读取 .env 若为 贝壳没有设置它.
  3. .env.local ——机器-局部重置,被打出,总是取胜.

真实的 process.env 值仍然胜过每个文件,所以 ENV_NAME=production node ... 既选择环境,又带走 优先级。 覆盖文件是基础文件的可选兄弟姐妹——无 ,装入与读取相同 .env 一个人.

所有值被装入 process.env这是真理的唯一来源: get编号 :has 和第三方图书馆读取 process.env 直接(哨兵,云SDKs等)也会看到你的配置. 宣告密钥 在任何文件中使其在环境中存在; 空声明被存储 作为空字符串,所以一个覆盖可以将基值去除 KEY=。 。 。 .

使用量

创建一个 .env 在您的工程根目录中的文件。 添加 新线上的环境变量,形式如下: NAME=VALUE。 。 。 . 例如:

DB_HOST=localhost
DB_PORT=2000
SENTRY_API=
START_DATE=2019-01-30T10:00:48.185Z
const config = require('@bedrockio/config');
db.connect({
  host: config.get('DB_HOST'),
  port: config.get('DB_PORT', 'number'),
});

// check if START_DATE is bigger than current time and SENTRY_API has value
if (config.get('START_DATE', 'date') < Date.now() && config.has('SENTRY_API')) {
  sentry.init({
    dsn: config.get('SENTRY_API'),
  });
}

方法

起来

默认 : config.get('DB_HOST', "string"): string

如果变量未在.env中定义,或未通过.env提供,则返回变量的值或丢出错误 process.env。 。 。 .

config.get(
  variable,
  as?: "string" | "boolean" | "json" | "number" | "date"
): string | number | boolean | Date | any

已经

默认 : config.has('DB_HOST'): boolean

如果变量在 process.env (空声明数为有).

获取全部

默认 : config.getAll(): {[key: string]: string}

返回您 env 文件中声明的所有密钥为密钥/ 值对象, 从 process.env环境环境PATH)不包括在内.

获取公开

默认 : config.getPublic(): {[key: string]: string}

喜欢 getAll,但只有名称以公共前缀开头的已声明的密钥(APP_ 或者说 PUBLIC_ 默认时,可通过 ENV_PUBLIC_PREFIXES 环境变量,逗号分离).

环境变量 ENV CONFIG PATH

此变量允许您为您的 .env 文件设置不同的位置 .

版本与发布记录

@bedrockio/config 共发布 13 个版本,首次发布于 2020/06/05;过去 12 个月发布了 2 个版本。

版本发布日期距今
4.0.0latest2026/07/143 个月前
3.0.02026/01/149 个月前
2.2.32023/06/153 年前
2.2.22022/02/284 年前
2.2.12022/02/284 年前
2.1.12021/07/235 年前

关于 @bedrockio/config 的常见问题

@bedrockio/config 是什么?

节点配置

如何安装 @bedrockio/config?

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

@bedrockio/config 支持 TypeScript 吗?

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

@bedrockio/config 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bedrockio/config 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14.*。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bedrockio/config 可以商用吗?

@bedrockio/config 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bedrockio/config 的下载量有多少?

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

@bedrockio/config 还在维护吗?

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