# @budibase/string-templates 中文文档

规范地址：https://npmcn.com/package/%40budibase/string-templates/

版本：3\.50\.0
npm 元数据更新时间：2026-10-19T08:11:50.715Z
中文译文更新时间：2026-11-08T18:20:37.252Z
软件包许可：MPL-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40budibase/string-templates
原文对照：https://npmcn.com/package/%40budibase/string-templates/?lang=original

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

- 包体积（解压后）：863 kB，22 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2021-01-22T17:11:10.588Z
- 最新版本发布：2026-10-19T08:11:50.534Z
- 近 30 天下载量：8308（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：3156（近 12 个月 152 个）

## 中文简介

手提棒包装布迪巴克电磁.

## 安装

```sh
npm install @budibase/string-templates
```

也可以使用：`pnpm add @budibase/string-templates`、`yarn add @budibase/string-templates`、`bun add @budibase/string-templates`

## README

# 弦调弦

这个软件包提供了一个共用的系统,可以跨出Budibase Builder,客户端和服务器的字符串诱导. 通过使用 [处理栏](https://handlebarsjs.com/) 胡子的扩展 它能够执行逻辑。 我们还通过使用扩展了基础的 Handlebars 功能 通过下列方式提供的一组帮助: [手柄栏帮助器](https://github.com/budibase/handlebars-helpers) 软件包.

我们没有实施所有由帮助者包提供的帮助者,因为其中一些提供了功能 我们觉得没有好处 已实施下列帮助者汇编:

1.  [数学](https://github.com/budibase/handlebars-helpers/tree/master#math) - 一套有用的帮助者 执行与数字有关的逻辑,例如:. `avg`, (中文(简体) ), `add`, (中文(简体) ), `abs` 诸如来.
2.  [阵列](https://github.com/budibase/handlebars-helpers/tree/master#array) - 一些非常特别的帮手 用于数组,例如用于自动化。 帮助者喜欢 `first`, (中文(简体) ), `last`, (中文(简体) ), `after` 财务报告和审定财务报表 `join` 可用于获得特定部分的数组或将它们变成字符串.
3.  [数目](https://github.com/budibase/handlebars-helpers/tree/master#number) - 不像数学帮手 用于将数字转换成有用的显示格式,例如. `bytes`, (中文(简体) ), `addCommas` 财务报告和审定财务报表 `toPrecision`。 。 。 .
4.  [網址](https://github.com/budibase/handlebars-helpers/tree/master#url) - 处理URL的非常具体的助手, 例如 `encodeURI`, (中文(简体) ), `escape`, (中文(简体) ), `stripQueryString` 财务报告和审定财务报表 `stripProtocol`。这些主要有用 用于建立特定的URL,作为自动化的一部分.
5.  [字符串](https://github.com/budibase/handlebars-helpers/tree/master#string) - 这些帮手对建筑很有用 字符串和准备用于显示,例如:. `append`, (中文(简体) ), `camelcase`, (中文(简体) ), `capitalize` 财务报告和审定财务报表 `ellipsis`。 。 。 .
6.  [比较](https://github.com/budibase/handlebars-helpers/tree/master#comparison) - 这些助手主要为: 特定条件满足时的构造字符串,例如 `and`, (中文(简体) ), `or`, (中文(简体) ), `gt`, (中文(简体) ), `lt`, (中文(简体) ), `not` 诸如来. 这是非常 大量帮助者,但大多符合一组逻辑操作员的期望.
7.  [对象](https://github.com/budibase/handlebars-helpers/tree/master#object) - 分析对象的有用操作员,以及 把它们转换成JSON字符串.
8.  [缩写](https://github.com/budibase/handlebars-helpers/tree/master#regex) - 允许对字符串进行regex测试 可用于有条件的声明.
9.  [日期](https://github.com/helpers/helper-date) - 最后但肯定并非最不重要的是一个基于时间的约会助手,它可以 格式化 ISO/ timestamp 基于时间戳的日期为人可以读取的东西。 这方面的一个例子是: `{{date dateProperty "DD-MM-YYYY"}}`。 。 。 .

## 日期格式化

此软件包使用标准方法格式化日期时间,使用以下语法:

| 投入 | 示例 | 说明 |
| --- | --- | --- |
| 哟 | 2014 (中文(简体) ) | 4到2位数的年份。 注:在严格模式下只能解析出4位数 |
| 哟 | 页:1 | 2个数字年份 |
| Y | \-25号 | 数字和签名年份 |
| Q 问 | 1.4 信息技术 | 年四时. 规定每个月到第一个月的季度. |
| 分钟 | 1.12 (中文(简体) ) | 月数 |
| 毫米毫米毫米 | 杨.. 12月(半天) | 以 moment 设置的地语名称 。 locale () |
| DD 数据交换 | 1.31 联合国 | 月数 |
| 执行 | 第1次 第31次会议 | 月日为正数 |
| DDD 数据文件 | 1.365 (韩语) | 年度天数 |
| 页:1 | 1410715640.579 (中文(简体) ) | 无九时戳 |
| 页:1 | 1410715640579 (中文(简体) ) | 解开 ms 时间戳 |

## 模板格式

调温系统主要有两种方法,第一种方法与调温系统非常相似 由Mustache制作 - 单一声明:

```
Hello I'm building a {{uppercase adjective}} string with Handlebars!
```

在上述说明中,提供了以下背景: `{adjective: "cool"}` 将生成一个字符串 `Hello I'm building a COOL string with Handlebars!`。 。 。 . 这里我们可以看到一个实例,说明可以使用字符串帮助者来制作一个字符串,而这正是我们需要的. 这些声明相对而言是: 简单; 也可以堆栈帮助者 : `{{ uppercase (remove string "bad") }}` 使用括号.

另一种用调温系统可以作出的语句是有条件的语句,这种语句看起来是:

```
Hello I'm building a {{ #gte score "50" }}Great{{ else }}Bad{{ /gte }} string with Handlebars!
```

在这个字符串中,可以看到字符串 `Great` 或者说 `Bad` 将视 `score` 上下文变量。 比较、 字符串和数组帮助都提供了一些可以使用的有条件操作符 这边 也会有一些运算符会使用非常相似的语法来构建,但会生成一个 迭接操作,像每个操作一样 -- 例如: `forEach` 阵列帮助器.

## 使用量

这个调温套件的使用是通过套件提供的主要功能之一——这些功能是: 内容如下:

1.  `processString` - 说吧 `async (string, object)` - 给出模板字符串和上下文对象,这将构建字符串 使用我们的预处理器,后处理器和手提栏.
2.  `processObject` - 说吧 `async (object, object)` - 行使由下列人员提供的功能: `processString` 用于任意字符串 在给定对象内。 这将深深地重复到所提供的物体中,因此对于非常大的物体来说可能很慢.
3.  `processStringSync` - 说吧 `(string, object)` - 减少同步字符串的功能处理,例如 由节点提供的函数(例如). `readdirSync`(中文(简体) )
4.  `processObjectSync` - 说吧 `(object, object)` - 就像同步字符串一样, 重现一个对象来同步处理它.
5.  `makePropSafe` - 说吧 `(string)` - 一些属性不能由 Handlebars 处理,例如 `Table 1` 无效到期 到属性名称中的空格。 这将更新属性名称到 `[Table 1]` 用文字来包装 分明的,这样它才安全地用于Handlebars. 理想情况下,应该对对象的每个级别调用此函数 正在访问,例如 `[Table 1].[property name]` 是 Handlebar 所需的语法.
6.  `isValid` - 说吧 `(string)` - 检查任何模板的给定字符串,并提供布尔表示其是否有效 模板.
7.  `getManifest` - 返回已为助手生成的JSON清单,描述他们及其参数.

## 发展

这个库是用 [滚动](https://rollupjs.org/guide/en/) 和Budibase制造的很多软件包一样 我们有 将字符串调温套件构建为UMD,以便被以节点和浏览器为基础的应用程序所使用. 此软件包也 构建 Typescription stub, 当使用库时, 您的 IDE 将用来提供代码补全 。 以下内容: 为发展目的提供命令:

1.  `yarn build` - 将打字杆和捆绑放入 `dist` 目录.
2.  `yarn test` - 运行测试套件,检查各种帮助者是否仍在运行,因为 和少数预期使用的案例.
3.  `yarn dev` - 由lerna用来观察和构建任何变化的内部命令 切换为主 `yarn dev` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你还得去吗.

还必须指出,这个软件包的管理方式与单套装中所有其他软件一样, 通过莱娜.

## 常见问题

### @budibase/string-templates 是什么？

手提棒包装布迪巴克电磁\.

### 如何安装 @budibase/string-templates？

在项目目录运行 npm install @budibase/string-templates，或使用 pnpm add / yarn add / bun add。

### @budibase/string-templates 支持 TypeScript 吗？

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

### @budibase/string-templates 支持 ESM 还是 CommonJS？

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

### @budibase/string-templates 可以商用吗？

@budibase/string-templates 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @budibase/string-templates 的下载量有多少？

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

### @budibase/string-templates 还在维护吗？

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

