# @ava/write-file-atomic 中文文档

规范地址：https://npmcn.com/package/%40ava/write-file-atomic/

版本：2\.2\.0
npm 元数据更新时间：2022-04-04T16:41:56.645Z
中文译文更新时间：2026-11-07T07:25:30.071Z
软件包许可：ISC

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

原始 npm 页面：https://www.npmjs.com/package/%40ava/write-file-atomic
原文对照：https://npmcn.com/package/%40ava/write-file-atomic/?lang=original
项目主页：https://github.com/iarna/write-file-atomic
源码仓库：https://github.com/avajs/write-file-atomic

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

- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：3 个
- 首次发布：2017-06-25T15:07:15.845Z
- 最新版本发布：2017-06-25T15:07:15.845Z
- 近 30 天下载量：136482（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

以原子式 W/ 配置属性写入文件

## 安装

```sh
npm install @ava/write-file-atomic
```

也可以使用：`pnpm add @ava/write-file-atomic`、`yarn add @ava/write-file-atomic`、`bun add @ava/write-file-atomic`

## README

## 写入文件原子

**从 [https://github.com/npm/write-file-atomics. 中国植物物种信息数据库](https://github.com/npm/write-file-atomic) 包括 [https://github.com/npm/write-file-atomic/pul/25 互联网档案馆的存檔,存档日期2013-12-22](https://github.com/npm/write-file-atomic/pull/25),用于 使用时使用 [阿富汗](https://github.com/avajs/ava/)。 。 。 .**

* * *

这是节点的扩展 `fs.writeFile` 能够运作 原子并允许您设定所有权( uid/ gid of the file) .

### var 写入 FileAtomic = 需要 ('write- file- atomic')  
写入 FileAtomic( 文件名、 数据、 \[选项\] 、 回调)

-   文件名 **字符串**
-   数据 **字符串** | **缓冲**
-   选项 **对象**
    -   颜色 **对象**
        -   用户 **数目**
        -   给 **数目**
    -   编码 **字符串** | **无** 默认 = “ utf8 ”
    -   fsync 语录 **布尔** 默认为正
    -   模式 **数目** 默认 = 438(Octar为0666) 回调 **函数**

以原子和同步方式将数据写入文件, 如果文件已经替换的话 已存在。 数据可以是字符串或缓冲.

文件最初命名为 `filename + "." + murmurhex(__filename, process.pid, ++invocations)`。 。 。 . 如果写入文件成功完成, 如果通过 **颜色** 选项将更改 文件的所有权。 最后它将文件重命名为您指定的文件名 。 若为 它在这些步骤中都会遇到错误,它会试图解锁临时文件,然后 将错误传递回呼叫者.

如果提供,则 **颜色** 选项 **用户** 财务报告和审定财务报表 **给** 属性或其他 你会得到一个错误.

这个 **编码** 如果 **数据** 是一个缓冲。 它默认为"utf8".

如果 **fsync 语录** 选项 **虚假**,写出File会跳过最后的fsync呼叫.

召回总是与初始(临时)文件名一起被引用.

示例

```javascript
writeFileAtomic('message.txt', 'Hello Node', {chown:{uid:100,gid:50}}, function (err) {
  if (err) throw err;
  console.log('It\'s saved!');
});
```

### var 写入 FileAtomicSync = 需要 ('write-file-atomic'). sync  
写入 FileAtomicSync( 文件名、 数据、 \[选项\])

同步版本的 **写入文件原子**返回初始(临时)文件名.

## 常见问题

### @ava/write-file-atomic 是什么？

以原子式 W/ 配置属性写入文件

### 如何安装 @ava/write-file-atomic？

在项目目录运行 npm install @ava/write-file-atomic，或使用 pnpm add / yarn add / bun add。

### @ava/write-file-atomic 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ava\_\_write-file-atomic 是否存在。

### @ava/write-file-atomic 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @ava/write-file-atomic 可以商用吗？

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

### @ava/write-file-atomic 的下载量有多少？

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

### @ava/write-file-atomic 还在维护吗？

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

