@adobe/helix-shared-string

中文文档
2.2.0发布于 2025/12/09Apache-2.0ES Module零依赖近 30 天下载 2935

Helix 项目共享模块 - 字符串

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 职能
  4. 多行( str)
  5. 拆分扩展( 名称)
  6. 消毒Name (名称)
  7. 消毒Path( 文件路径, 选择)
  8. 编辑差异( s0, s1)

螺旋共享 - 字符串

用于字符串操作的公用功能集,包括多行字符串处理,文件名 sanitization,路径处理,以及编辑距离计算.

安装

npm install @adobe/helix-shared-string

使用量

import {
  multiline,
  splitByExtension,
  sanitizeName,
  sanitizePath,
  editDistance
} from '@adobe/helix-shared-string';

职能

多行( str)

以适当的缩进处理方式声明多行字符串 。 此函数将第一行和最后一行完全空出,并删除所有行中常见的空白前缀.

const text = multiline(`
  Hello
  World
    Indented
  Back
`);
// Result: "Hello\nWorld\n  Indented\nBack"

该函数会自动检测并去除常见的缩进级,使其在代码中适合模板字符串.

拆分扩展( 名称)

在最后一个点拆分一个文件名,返回基名和扩展为双元素数组.

splitByExtension('document.txt');
// Returns: ['document', 'txt']

splitByExtension('archive.tar.gz');
// Returns: ['archive.tar', 'gz']

splitByExtension('README');
// Returns: ['README', '']

splitByExtension('.gitignore');
// Returns: ['.gitignore', '']

消毒Name (名称)

将字符串设置为 :

  • 转换为小写
  • 所有 Unicode 字符规范化
  • 替换所有带有破折号的非缩写字符
  • 删除相接的破折号
  • 删除前行和后行的破折号
sanitizeName('My Document');
// Returns: 'my-document'

sanitizeName('Föhren Smürd');
// Returns: 'fohren-smurd'

sanitizeName('.My 2. Document-');
// Returns: 'my-2-document'

消毒Path( 文件路径, 选择)

使用相同的规则对文件路径进行安全化 sanitizeName,但只影响底名。 目录路径和扩展内容被保存.

sanitizePath('/Untitled Folder/My Document.docx');
// Returns: '/Untitled Folder/my-document.docx'

sanitizePath('Föhren Smürd.txt');
// Returns: 'fohren-smurd.txt'

sanitizePath('.My 2. Document!.docx');
// Returns: 'my-2-document.docx'

选项 :

  • ignoreExtension (布尔语):如果 true,将整个文件名作为碱名,而不保留任何扩展名
sanitizePath('.MyDocument', { ignoreExtension: true });
// Returns: 'mydocument'

编辑差异( s0, s1)

使用递归算法计算出两个字符串之间的Levenshtein编辑距离。 返回将一个字符串转换成另一个字符串所需的单个字符组编辑(插入、删除或替换)的最小数量.

editDistance('foo', 'foo');
// Returns: 0

editDistance('foo', 'foo123');
// Returns: 3

editDistance('My Document', 'my-document');
// Returns: 3

editDistance('My 1. Document', 'my-1-document');
// Returns: 5

此功能对文件名等相对较短的字符串进行了优化,即使使用中长的输入,也表现良好.

版本与发布记录

@adobe/helix-shared-string 共发布 16 个版本,首次发布于 2021/04/29;过去 12 个月发布了 1 个版本。

版本发布日期距今
2.2.0latest2025/12/0910 个月前
2.1.02024/12/071.9 年前
2.0.22024/04/172 年前
2.0.12024/01/242 年前
2.0.02023/01/313 年前
1.0.92022/05/034 年前

关于 @adobe/helix-shared-string 的常见问题

@adobe/helix-shared-string 是什么?

Helix 项目共享模块 - 字符串

如何安装 @adobe/helix-shared-string?

在项目目录运行 npm install @adobe/helix-shared-string,或使用 pnpm add / yarn add / bun add。

@adobe/helix-shared-string 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/adobe__helix-shared-string 是否存在。

@adobe/helix-shared-string 支持 ESM 还是 CommonJS?

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

@adobe/helix-shared-string 可以商用吗?

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

@adobe/helix-shared-string 的下载量有多少?

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

@adobe/helix-shared-string 还在维护吗?

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