# @fluent/dedent 中文文档

规范地址：https://npmcn.com/package/%40fluent/dedent/

版本：0\.5\.0
npm 元数据更新时间：2023-03-13T14:58:52.254Z
中文译文更新时间：2026-11-15T01:09:38.973Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40fluent/dedent
原文对照：https://npmcn.com/package/%40fluent/dedent/?lang=original
项目主页：https://projectfluent.org/
源码仓库：https://github.com/projectfluent/fluent.js

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

- 包体积（解压后）：9.4 kB，7 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=14\.0\.0
- 运行依赖：0 个
- 首次发布：2019-05-23T09:34:39.878Z
- 最新版本发布：2023-03-13T14:58:52.156Z
- 近 30 天下载量：4168（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

用于缩写流利码的模板字面标记

## 安装

```sh
npm install @fluent/dedent
```

也可以使用：`pnpm add @fluent/dedent`、`yarn add @fluent/dedent`、`bun add @fluent/dedent`

## README

# @ 流利/ 凹陷 ![](https://github.com/projectfluent/fluent.js/workflows/test/badge.svg)

`@fluent/dedent` 提供一个模板字面标记来解缩流线码。 这是 部分内容 [项目流利](https://projectfluent.org/)。 。 。 .

流利语法是缩进敏感,和 `@fluent/dedent` 提议 在源代码中包含流线片段的方便方式 缩进水平,不影响可读性.

## 安装

`@fluent/dedent` 可以在客户端和服务器端使用。 你们可以 从 npm 注册处安装,或将其作为独立的脚本使用(作为 `FluentDedent` 联合国.

```
npm install @fluent/dedent
```

## 如何使用

`@fluent/dedent`默认导出为模板字元 标签。 根据惯例,标签经常叫 `ftl`。 。 。 .

```javascript
import ftl from "@fluent/dedent";

let messages = ftl`
    hello = Hello, world!
    welcome = Welcome, {$userName}!
    `;
```

关闭后缀的位置定义将删除多少缩进 从内容的每行。 如果缩进在任何一种情况下都不够 内容的非空白行, a `RangeError` 被抛出.

```javascript
import ftl from "@fluent/dedent";

let messages = ftl`
    hello = Hello, world!
  welcome = Welcome, {$userName}!
    `;

// → RangeError("Insufficient indentation in line 2.")
```

内容必须从新线上开始,必须从自己的线上结束. 这个 关闭分隔符必须出现在新线上。 第一行还有最后一行 输入将从输出中删除。 如果其中任何一个包含 非空白字符, a `RangeError` 被抛出.

```javascript
import ftl from "@fluent/dedent";

let message1 = "hello = Hello, world!";
let message2 = ftl`
    hello = Hello, world!
    `;

assert(message1 === message2);
```

如果您希望在输出中包含主线或后行换行符,请在 输入中的额外空白行.

```javascript
import ftl from "@fluent/dedent";

let message = ftl`

    hello = Hello, world!

    `;

assert(message === "\nhello = Hello, world!\n");
```

## 常见问题

### @fluent/dedent 是什么？

用于缩写流利码的模板字面标记

### 如何安装 @fluent/dedent？

在项目目录运行 npm install @fluent/dedent，或使用 pnpm add / yarn add / bun add。

### @fluent/dedent 支持 TypeScript 吗？

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

### @fluent/dedent 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @fluent/dedent 需要什么版本的 Node\.js？

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

### @fluent/dedent 可以商用吗？

@fluent/dedent 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @fluent/dedent 的下载量有多少？

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

### @fluent/dedent 还在维护吗？

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

