@arcjet/env

中文文档
1.15.0发布于 2026/10/29Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 33.4万

Arcjet 环境探测

中文使用文档
文档目录12 节
  1. 这是什么?
  2. 我什么时候用这个?
  3. 安装
  4. 使用
  5. API 密码
  6. Env
  7. Platform
  8. baseUrl(environment)
  9. isDevelopment(environment)
  10. logLevel(environment)
  11. platform(environment)
  12. 许可证
Arcjet Logo

@arcjet/env

npm badge

弧喷 环境探测.

这是什么?

这是用于读取配置的工具 process.env 财务报告和审定财务报表 类似. 它的存在是为了我们能够在整个包中访问这种配置.

我什么时候用这个?

你也许不该用这个 但是有些边缘的案子我们让 用户将更先进的功能互换出去,然后可能有用.

安装

这套方案只是无害环境管理. 在 Node.js 用 npm 安装 :

npm install @arcjet/env

使用

import process from "node:process";
import { baseUrl, isDevelopment, logLevel, platform } from "@arcjet/env";

console.log(platform({ FLY_APP_NAME: "foobar" })); // => "fly-io"
console.log(platform({})); // => undefined
console.log(isDevelopment({ NODE_ENV: "production" })); // => false
console.log(isDevelopment({ NODE_ENV: "development" })); // => true
console.log(isDevelopment({ ARCJET_ENV: "production" })); // => false
console.log(isDevelopment({ ARCJET_ENV: "development" })); // => true
console.log(logLevel({ ARCJET_LOG_LEVEL: "debug" })); // => "debug"
console.log(logLevel({ ARCJET_LOG_LEVEL: "info" })); // => "info"
console.log(logLevel({ ARCJET_LOG_LEVEL: "warn" })); // => "warn"
console.log(logLevel({ ARCJET_LOG_LEVEL: "error" })); // => "error"
console.log(logLevel({ ARCJET_LOG_LEVEL: "" })); // => "warn"
console.log(baseUrl(process.env)); // => "https://decide.arcjet.com"

API 密码

此软件包导出标识符 baseUrl, (中文(简体) ), isDevelopment, (中文(简体) ), logLevel,以及 platform。 。 。 . 没有默认导出 .

此套件导出 类型脚本 类型 Env 财务报告和审定财务报表 Platform。 。 。 .

Env

此类型代表您在 这个包裹。 它包括已知的Arcjet和平台特定环境 变量.

类型
export type Env = {
  [key: string]: unknown;
  ARCJET_BASE_URL?: string | undefined;
  ARCJET_ENV?: string | undefined;
  ARCJET_LOG_LEVEL?: string | undefined;
  FIREBASE_CONFIG?: string | undefined;
  FLY_APP_NAME?: string | undefined;
  MODE?: string | undefined;
  NODE_ENV?: string | undefined;
  RENDER?: string | undefined;
  VERCEL?: string | undefined;
};

Platform

该类型代表了能够被检测到的平台名称.

类型
type Platform = "firebase" | "fly-io" | "render" | "vercel";

baseUrl(environment)

返回Arcjet API的基础 URL。 需要的话可以使用 知道Arcjet会和哪个API终点说话.

参数
  • environment (单位:千美元)Env(中文(简体) ) - 环境物体,一般 process.env
回返

Arcjet API 的基础 URL (string) (中文(简体) ).

isDevelopment(environment)

检查当前环境是否为开发环境. 我们用 以调整发展与生产之间的行为.

参数
  • environment (单位:千美元)Env(中文(简体) ) - 环境物体,一般 process.env
回返

环境是否是发展(boolean) (中文(简体) ).

logLevel(environment)

从环境返回已配置的日志级别 。 如果没有日志级别 设置,默认为 "warn"。 。 。 .

参数
  • environment (单位:千美元)Env(中文(简体) ) - 环境物体,一般 process.env
回返

日志级别 ("debug" | "error" | "info" | "warn") (中文(简体) ).

platform(environment)

检测您的代码基于环境运行的平台 变量.

参数
  • environment (单位:千美元)Env(中文(简体) ) - 环境物体,一般 process.env
回返

如果找到平台名称( N)Platform),或 undefined 否则.

许可证

Apache 许可证,2.0版本 © Arcjet实验室股份有限公司.

版本与发布记录

@arcjet/env 共发布 65 个版本,首次发布于 2024/06/11;过去 12 个月发布了 30 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.15.0latest2026/10/298 天前
1.14.12026/10/0730 天前
1.14.02026/10/021 个月前
1.13.02026/09/171 个月前
1.12.02026/09/091 个月前
1.11.02026/08/272 个月前

其他发布通道:rc → 1.10.0-rc.1。

关于 @arcjet/env 的常见问题

@arcjet/env 是什么?

Arcjet 环境探测

如何安装 @arcjet/env?

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

@arcjet/env 支持 TypeScript 吗?

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

@arcjet/env 支持 ESM 还是 CommonJS?

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

@arcjet/env 需要什么版本的 Node.js?

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

@arcjet/env 可以商用吗?

@arcjet/env 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

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

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

@arcjet/env 还在维护吗?

最新版本 1.15.0 发布于 2026/10/29(8 天前);至今共发布 65 个版本,其中过去 12 个月发布了 30 个;首次发布于 2024/06/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。