# @delucis/if-env 中文文档

规范地址：https://npmcn.com/package/%40delucis/if-env/

版本：1\.1\.2
npm 元数据更新时间：2022-04-05T03:43:06.290Z
中文译文更新时间：2026-11-11T21:58:06.360Z
软件包许可：GPL-3\.0-only

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40delucis/if-env
原文对照：https://npmcn.com/package/%40delucis/if-env/?lang=original
项目主页：https://github.com/delucis/if-env#readme
源码仓库：https://github.com/delucis/if-env

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：39.2 kB，6 个文件
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2018-05-17T14:46:19.593Z
- 最新版本发布：2019-06-11T11:07:23.624Z
- 近 30 天下载量：5651（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

如果环境变量匹配模式, 运行 npm 脚本

## 安装

```sh
npm install @delucis/if-env
```

也可以使用：`pnpm add @delucis/if-env`、`yarn add @delucis/if-env`、`bun add @delucis/if-env`

## README

# @delucis/if-env (英语)

[![latest npm release version](https://img.shields.io/npm/v/@delucis/if-env.svg)](https://www.npmjs.com/package/@delucis/if-env) [![Build Status](https://travis-ci.com/delucis/if-env.svg?branch=master)](https://travis-ci.com/delucis/if-env) [![Coverage Status](https://coveralls.io/repos/github/delucis/if-env/badge.svg?branch=master)](https://coveralls.io/github/delucis/if-env?branch=master) [![Greenkeeper badge](https://badges.greenkeeper.io/delucis/if-env.svg)](https://greenkeeper.io/) ![npms.io package score](https://badges.npms.io/%40delucis%2Fif-env.svg)

> 如果环境变量匹配模式, 运行 npm 脚本

这是埃里克·克莱蒙斯的叉子 [`if-env`](https://github.com/ericclemmons/if-env)。它允许您使用通配符匹配环境变量(`*`)而不是使用简单的字符串平等. 见辛德雷·索胡斯 [`matcher`](https://github.com/sindresorhus/matcher) 详细介绍匹配方法.

## 安装

```
npm install --save @delucis/if-env
```

## 使用量

此软件包安装 `if-env`,这个脚本可以方便地将环境变量值与使用通配符的图案相匹配。 它还包括 `if-env-cs`,这是 [区分大小写](https://npmcn.com/package/%40delucis/if-env/#readme-case-sensitivity)。 。 。 .

如果你想有条件地运行一个国家预防机制脚本,取决于环境变量的价值,你可以使用 `if-env` 在你身边 `package.json`在这个例子中,我们只想运行我们的 `test` 脚本当 `SOME_VAR` 变量起始于 `new`数字 :

```json
"scripts": {
  "test": "if-env SOME_VAR=new* && npm run test-suite"
}
```

### 多重条件

如果你想要满足几个条件 你可以把它们都传给 `if-env`数字 :

```json
"scripts": {
  "yay": "if-env VAR1=woo* VAR2=*hoo && echo yay"
}
```

如果您想要运行一个脚本, 如果您满足了其中任一条件, 您可以使用 `||` 运算符 :

```json
"scripts": {
  "moo": "if-env ANIMAL=cow || if-env ANIMAL=bull* && echo moo"
}
```

如果您想根据变量的值做不同的事情,您也可以使用 `||` 运算符 :

```json
"scripts": {
  "joy": "if-env MOOD=happy && echo 😄 || echo 😭"
}
```

### 取消条件

如果你想做一些事情,如果一个变量做 **_没有_** 匹配模式,您有两个选项。 注意第一个例子中的单词;它们逃跑了 `!` 为了你的外壳.

```json
"scripts": {
  "ifenv": "if-env MOOD='!happy' && echo 😭",
  "shell": "if-env MOOD=happy || echo 😭"
}
```

### 逃脱字符

如果您需要您的图案中设置空格, 请确保您用引文将其包裹 :

```json
"scripts": {
  "spacious": "if-env SENTENCE='I want * spaces.' && echo You get spaces!"
}
```

### 案件敏感性

`if-env` 案件不敏感,这意味着 `if-env VAR=foo` 将两者匹配 `foo` 财务报告和审定财务报表 `FOO`如果您需要测试变量和大小写很重要,请使用 `if-env-cs` 命令 :

```json
"scripts": {
  "case": "if-env-cs WORD=lower && echo nice! || echo STOP SHOUTING!"
}
```

## 常见问题

### @delucis/if-env 是什么？

如果环境变量匹配模式, 运行 npm 脚本

### 如何安装 @delucis/if-env？

在项目目录运行 npm install @delucis/if-env，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 if-env、if-env-cs，可以用 npx if-env 直接运行。

### @delucis/if-env 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/delucis\_\_if-env 是否存在。

### @delucis/if-env 可以商用吗？

@delucis/if-env 使用 GPL-3\.0-only 许可。强 Copyleft：分发包含该代码的软件时，整个作品需以 GPL-3\.0 兼容许可开源，并附带专利与反锁定条款。仅内部使用不触发此义务。以上为概括，不构成法律意见，请以许可原文为准。

### @delucis/if-env 的下载量有多少？

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

### @delucis/if-env 还在维护吗？

最新版本 1\.1\.2 发布于 2019/06/11（7 年前）；至今共发布 5 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/05/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

