# mimic-fn 中文文档

规范地址：https://npmcn.com/package/mimic-fn/

版本：5\.0\.0
npm 元数据更新时间：2023-11-05T19:55:23.083Z
中文译文更新时间：2026-11-06T06:33:25.644Z
软件包许可：MIT

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

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

弃用说明：Renamed to mimic-function

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

- 包体积（解压后）：8.2 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=12
- 运行依赖：0 个
- 首次发布：2016-10-19T17:27:32.921Z
- 最新版本发布：2023-11-05T19:54:59.336Z
- 近 30 天下载量：626891981（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 0 个）

## 中文简介

使一个函数模仿另一个函数

## 安装

```sh
npm install mimic-fn
```

也可以使用：`pnpm add mimic-fn`、`yarn add mimic-fn`、`bun add mimic-fn`

## README

![mimic-fn](https://npmcn.com/package/mimic-fn/media/logo.svg)  

> 使一个功能模仿另一个功能

当您将一个函数包入另一个函数并喜欢保存原名和其他属性时有用 .

## 安装

```
$ npm install mimic-fn
```

## 使用量

```js
import mimicFunction from 'mimic-fn';

function foo() {}
foo.unicorn = '🦄';

function wrapper() {
    return foo();
}

console.log(wrapper.name);
//=> 'wrapper'

mimicFunction(wrapper, foo);

console.log(wrapper.name);
//=> 'foo'

console.log(wrapper.unicorn);
//=> '🦄'

console.log(String(wrapper));
//=> '/* Wrapped with wrapper() */\nfunction foo() {}'
```

## API 密码

### 模拟功能( 到, 从, 选项 )

修改 `to` 函数以模仿 `from` 函数。 返回 `to` 函数.

`name`, (中文(简体) ), `displayName`,以及 `from` 已复制。 这个 `length` 未复制属性。 原型,类,和所继承的财产被复制.

`to.toString()` 将返回与 `from.toString()` 但预留了 `Wrapped with to()` 评论.

#### 改为

类型 : `Function`

模仿函数.

#### 从

类型 : `Function`

要模仿的功能 .

#### 选项

类型 : `object`

##### 忽略不可配置

类型 : `boolean`  
默认 : `false`

跳过修改 [不可配置属性](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor#Description) 而不是扔出一个错误.

## 相关

-   [重命名为fn](https://github.com/sindresorhus/rename-fn) - 重命名一个函数
-   [保存已停用道具](https://github.com/ehmicky/keep-func-props) - 在不更改名称和其他属性的情况下将一个函数包成

* * *

**[使用 Tidelift 订阅软件包获得专业支持](https://tidelift.com/subscription/pkg/npm-mimic-fn?utm_source=npm-mimic-fn&utm_medium=referral&utm_campaign=readme)**  
Tidelift 有助于让开源为维护者持续提供,同时给公司  
保证其依赖性的安全、维持和许可证发放.

## 常见问题

### mimic-fn 是什么？

使一个函数模仿另一个函数注意：该包已被作者标记为弃用——Renamed to mimic-function

### 如何安装 mimic-fn？

在项目目录运行 npm install mimic-fn，或使用 pnpm add / yarn add / bun add。

### mimic-fn 支持 TypeScript 吗？

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

### mimic-fn 支持 ESM 还是 CommonJS？

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

### mimic-fn 需要什么版本的 Node\.js？

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

### mimic-fn 可以商用吗？

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

### mimic-fn 的下载量有多少？

根据 npm 官方下载统计，mimic-fn 在 2026/10/06 – 2026/11/04 这 30 天内被下载 626,891,981 次，日均约 20,896,399 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### mimic-fn 还在维护吗？

最新版本 5\.0\.0 发布于 2023/11/06（3 年前）；至今共发布 9 个版本，其中过去 12 个月发布了 0 个；首次发布于 2016/10/20。作者已将其标记为弃用，新项目建议寻找替代方案。

