# @fastify/flash 中文文档

规范地址：https://npmcn.com/package/%40fastify/flash/

版本：6\.0\.6
npm 元数据更新时间：2026-10-18T12:30:34.110Z
中文译文更新时间：2026-11-14T11:20:49.330Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：8.9 kB，7 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2022-04-27T13:53:07.669Z
- 最新版本发布：2026-10-09T16:58:54.432Z
- 近 30 天下载量：326314（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 3 个）

## 中文简介

Flash 信件插件用于粘接 .

## 安装

```sh
npm install @fastify/flash
```

也可以使用：`pnpm add @fastify/flash`、`yarn add @fastify/flash`、`bun add @fastify/flash`

## README

# @ fastify/ flash (英语)

[![CI](https://github.com/fastify/fastify-flash/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/fastify/fastify-flash/actions/workflows/ci.yml) [![NPM version](https://img.shields.io/npm/v/@fastify/flash.svg?style=flat)](https://www.npmjs.com/package/@fastify/flash) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://standardjs.com/)

闪存是会话中用于存储消息的特殊区域. 信件会写到闪存上,并在显示给用户后清除. 闪存通常与重定向结合使用,确保消息可供下页渲染.

此插件的灵感来自 [连接-快闪](https://github.com/jaredhanson/connect-flash)。 。 。 .

## 安装

```
npm i @fastify/flash
```

## 使用量

闪存消息存储在会话中 。 首先,我们需要注册会话插件 : [@ fastify/ security- session( 安全会议)](https://www.npmjs.com/package/@fastify/secure-session)。 。 。 .

```javascript
const fastify = require('fastify')()
const fastifySession = require('@fastify/secure-session')
const fastifyFlash = require('@fastify/flash')

fastify.register(fastifySession, {
  // adapt this to point to the directory where secret-key is located
  key: fs.readFileSync(path.join(__dirname, 'secret-key')),
  cookie: {
    // options from setCookie, see https://github.com/fastify/fastify-cookie
    path: "/"
  }
})
fastify.register(fastifyFlash, {
  prefix: "/"
})

fastify.get('/test', (req, reply) => {
  req.flash('warning', ['username required', 'password required'])

  const warning = reply.flash('warning')
  reply.send({ warning }) // {"warning":["username required","password required"]}
})
```

### 关于会话插件的说明

`@fastify/secure-session` 只要会话插件:

1.  注册通过请求钩
2.  作为会话存储器支持 req. session

## API 密码

### 设定闪存消息

签署

```typescript
req.flash(type: string, ...message: string[] | [string[]]): number
```

可以用三种不同的方式称呼:

-   `req.flash('info', 'Welcome back')`
-   `req.flash('warning', ['username required', 'password required'])`
-   `req.flash('info', 'Hello %s', 'Jared') // will use util.format to format the string`

`req.flash` 返回使用所提供类型存储的信件数量.

### 获取闪存消息

签名

```typescript
reply.flash(type?: string): { [k: string]: undefined | string[] } | string[]
```

可以用两种不同的方式称呼:

-   `reply.flash() // returns all messages as object { [k: string]: undefined | string[] }`
-   `reply.flash('info') // returns an array of messages that are stored with the provided type`

## 许可证

许可证根据 [麻省理工学院](https://npmcn.com/package/%40fastify/flash/LICENSE)。 。 。 .

## 常见问题

### @fastify/flash 是什么？

Flash 信件插件用于粘接 \.

### 如何安装 @fastify/flash？

在项目目录运行 npm install @fastify/flash，或使用 pnpm add / yarn add / bun add。

### @fastify/flash 支持 TypeScript 吗？

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

### @fastify/flash 支持 ESM 还是 CommonJS？

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

### @fastify/flash 可以商用吗？

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

### @fastify/flash 的下载量有多少？

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

### @fastify/flash 还在维护吗？

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

