@frsource/frs-replace

中文文档
5.1.157发布于 2026/11/09MITTypeScriptES Module构建来源已验证近 30 天下载 3387

Javascript 周围的简单包装器用 CLI 使用支持取代 !

中文使用文档
文档目录10 节
  1. : 滚动: 安装
  2. 键盘: CLI
  3. 参数
  4. 旗帜
  5. :mag right:实例和食谱 - CLI
  6. :书:节点API
  7. :mag right:实例和食谱 - 节点
  8. : 有 上行 趋势:基准
  9. 输入为 glob 模式 [40 文件]
  10. 输入替换为字符串( c)

NPM version badge GZIP size calculated by bundlejs.com semantic-release badge license MIT badge

@frsource/frs- 重置 - 将您文件/流中直接的内容替换为轻松( CLI 包含) ! @ @ @ @ info

文件问题 • 妇女 问题还是点子? • 妇女 基准

快点 (单位:千美元)参见基准) CLI 和节点包装 javascript 替换 允许替换内文件(有可能将已更改的文件保存为副本), 欢呼, (中文(简体) ), 管道 还有更多!

开始( CLI) • 妇女 实例和办法(CLI)
开始( 节点) • 妇女 实例和秘方(节点)

: 滚动: 安装

npm install @frsource/frs-replace

或立即执行:

npx @frsource/frs-replace

键盘: CLI

frs-replace <regex> <replacement> [flags]

基本用途:

frs-replace something anything -i foo.js -o foo_replaced.js

# all of the occurences of "something" in `foo.js` will be replaced with "anything" and saved to `foo_replaced.js`

更多实例 下级。 。 。 .

参数

参数类型说明
< regex> (缩写)字符串第一个参数改为 RegExp 构造器
< 替换>字符串字符串或替换函数文件的路径(详情请参见 \\ replace fn switch)

旗帜

注:每个布尔选项都可以通过使用 --no- 前缀,例如:. --stdout 或者说 --no-stdout 分别打开或关闭 stdout 输出 .

注意: 对象类型可以使用 标记因此,例如,如果你想通过 utf8 数值 i-read-opts encoding 您应该写字段 --i-read-opts.encoding utf8。 。 。 .

选项类型默认说明
i,输入字符串或字符串 []- 说吧文件路径或 快速块 模式指向要从中读取的文件( R) 。 如果多个文件指定的结果将使用 outputJoinString 选项的值)
读取字符串或对象自动调试8直接传递给 读取文件同步方法 读取输入文件时
i- glob- opts (英语)对象未定义直接传递给 快块包 当解析 glob 模式时
点数布尔真实等待 stdin 输入( 应设置为 虚假 在非交互式终端中使用时)
o,输出字符串- 说吧输出文件名/ 路径( 如果文件已经存在, 替换文件, 如果不存在则创建任何中间目录)
============================================================================================================================================================================字符串或对象自动调试8作为选项参数通过 写作同步
{\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}我们一起来字符串\n加入多个文件时使用, 直接传递到 加入日记
(c) 内容字符串- 说吧要替换的内容( 优先于流文件输入) (F)
战略"同""平""平""保"结构"加入我们输出文件生成策略 . 加入我们 - 加入所有输入文件,并将其输出为单一文件,使用路径通过为: "输出"。 。 。 . "保留结构" - 将所有文件保存到 "输出" 目录保存相对目录结构."膨胀" - 一样 "保留结构" 但将目录结构平整
(f) 旗字符串, 组合 数字 旗帜页:1正则Exp 旗帜
{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你还好吧布尔真实 如果有管道输入, 虚假 否则强制在 stdout 上发送输出
r, 替换后布尔虚假将替换参数视为包含替换函数的文件路径
帮助布尔- 说吧显示帮助
‐v, ‐‐v布尔- 说吧显示版本编号

:mag right:实例和食谱 - CLI

1. 替换所有 a 发生 b 从 foo.js 文件并返回结果( 使用 CLI)
frs-replace a b -i foo.js --stdout
2. 替换所有 a 发生 b 从 foo.js 然后将结果保存到 foo_replaced.js (使用CLI) (中文(简体) )
frs-replace a b -i foo.js -o foo_replaced.js
3. 替换所有 a 发生 b 从文件数组中保存结果到 foo_replaced.js 使用默认 \n 作为结果连接字符串( 使用 CLI)
frs-replace a b -i foo.js -i foo2.js -o foo_replaced.js
4. 替换所有 a 发生 b 从所有 .js 文档中 foo 目录并保存结果到 foo_replaced.js 使用 \n/////\n 作为结果连接字符串( 使用 CLI)
frs-replace a b -i foo/*.js -o foo_replaced.js --o-join-str "\n/////\n"
5. 替换所有 a 发生 b 在内容字符串中 abcd 然后将结果保存到 foo_replaced.js (使用CLI) (中文(简体) )
frs-replace a b --content abcd -o foo_replaced.js
6. 替换所有 a 发生 b 从管状流保存到输出文件( 使用 CLI)
<read-file> | frs-replace a b > <output-file-path>
7. 替换所有 a 发生 b 从管子上流过 stdout 流到 <next-command> (使用CLI) (中文(简体) )
<read-file> | frs-replace a b | <next-command>

:书:节点API

@frsource/frs-重置包以两种口味来运出:同步和同步:

import { sync, async } from '@frsource/frs-replace';

sync({/* options */});
await async({/* options */});

何处 /* options */ 是一个包含:

注:参数之一: 投入 或者说 内容 需要时间

选项类型默认说明
投入字符串或字符串 []未定义文件路径或 快速块 模式指向要从中读取的文件( R) 。 如果多个文件指定的结果将使用 outputJoinString 选项的值)
输入读取选项字符串或对象自动调试8直接传递给 读取文件同步方法 读取输入文件时
输入 Glob 选项对象未定义直接传递给 快块包 当解析 glob 模式时
内容字符串未定义要替换的内容( 优先于文件输入)
战略"同""平""平""保"结构"加入我们输出文件生成策略 . 加入我们 - 加入所有输入文件,并将其输出为单一文件,使用路径通过为: "输出"。 。 。 . "保留结构" - 将所有文件保存到 "输出" 目录保存相对目录结构."膨胀" - 一样 "保留结构" 但将目录结构平整
针头字符串或 RegExp 对象- 说吧用作第一个论据: javascript 替换
替换字符串- 说吧作为第二次辩论通过 javascript 替换
产出字符串未定义输出文件的路径
输出字符串或对象"utf8" (英语)作为选项参数通过 写作同步
输出字符串\n加入多个文件时使用的字符串,直接传递到 加入日记

:mag right:实例和食谱 - 节点

注意: 虽然所有实例在所有情况下都使用同步 API 方法, 但您可以使用 async 还有.

1. 替换所有 a 发生 b 从 foo.js 文件并返回结果
import { sync } from '@frsource/frs-replace';

const result = sync({
  input: 'foo.js',
  regex: new RegExp('a', 'g'),
  replacement: 'b',
  output: 'foo_replaced.js',
});
2. 替换所有 a 发生 b 从 foo.js 然后将结果保存到 foo_replaced.js
import { sync } from '@frsource/frs-replace';
const result = sync({
  input: 'foo.js',
  regex: new RegExp('a', 'g'),
  replacement: 'b',
  output: 'foo_replaced.js',
});
3. 替换所有 a 发生 b 从文件数组中保存结果到 foo_replaced.js 使用默认 \n 作为结果组合字符串
import { sync } from '@frsource/frs-replace';
const result = sync({
  input: ['foo.js', 'foo2.js'],
  regex: new RegExp('a', 'g'),
  replacement: 'b',
  output: 'foo_replaced.js',
});
4. 替换所有 a 发生 b 从所有 .js 文档中 foo 目录并保存结果到 foo_replaced.js 使用 \n/////\n 作为结果组合字符串
import { sync } from '@frsource/frs-replace';
const result = sync({
  input: 'foo/*.js',
  regex: new RegExp('a', 'g'),
  replacement: 'b',
  outputJoinString: '\n/////\n',
  output: 'foo_replaced.js',
});
5. 替换所有 a 发生 b 在内容字符串中 abcd 然后将结果保存到 foo_replaced.js
import { sync } from '@frsource/frs-replace';
const result = sync({
  content: 'abcd',
  regex: new RegExp('a', 'g'),
  replacement: 'b',
  output: 'foo_replaced.js',
});

: 有 上行 趋势:基准

在Node v24.22.2上测试.

输入为 glob 模式 [40 文件]

军衔图书馆平均延迟度差异百分比(与最佳平均延迟率相比)
1个@frsource/frs-重置(同步)0.40 ± 1.33% (中文(简体) )+0.0% (单位:千美元)
2个替换文件(同步)0.47 ± 2.40% (%)+16.76% (中文(简体) )
3个@frsource/frs- 重置( async)1.76 ± 1.58%+339.49% (单位:千美元)
页:1替换文件( 同步)2.42 ± 2.16%+502.18% (单位:千美元)

输入替换为字符串( c)

军衔图书馆平均延迟度差异百分比(与最佳平均延迟率相比)
1个@frsource/frs-重置(同步)0.0 ± 0.70%+0.0% (单位:千美元)
2个替换结构0.0 ± 0.65% (单位:千美元)+28.31% (%)
3个@frsource/frs- 重置( async)0.00% ± 0.8%+38.74% (单位:千美元)

版本与发布记录

@frsource/frs-replace 共发布 174 个版本,首次发布于 2020/05/16;过去 12 个月发布了 72 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.1.157latest2026/11/096 天前
5.1.1562026/11/096 天前
5.1.1552026/11/0411 天前
5.1.1542026/11/0213 天前
5.1.1532026/11/0213 天前
5.1.1522026/10/2620 天前

关于 @frsource/frs-replace 的常见问题

@frsource/frs-replace 是什么?

Javascript 周围的简单包装器用 CLI 使用支持取代 !

如何安装 @frsource/frs-replace?

在项目目录运行 npm install @frsource/frs-replace,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 frs-replace,可以用 npx frs-replace 直接运行。

@frsource/frs-replace 支持 TypeScript 吗?

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

@frsource/frs-replace 支持 ESM 还是 CommonJS?

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

@frsource/frs-replace 需要什么版本的 Node.js?

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

@frsource/frs-replace 可以商用吗?

@frsource/frs-replace 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@frsource/frs-replace 的下载量有多少?

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

@frsource/frs-replace 还在维护吗?

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