# @arkstack/notifications 中文文档

规范地址：https://npmcn.com/package/%40arkstack/notifications/

版本：0\.22\.2
npm 元数据更新时间：2026-11-07T14:00:09.986Z
中文译文更新时间：2026-11-06T20:59:08.664Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40arkstack/notifications
原文对照：https://npmcn.com/package/%40arkstack/notifications/?lang=original
项目主页：https://arkstack.toneflix.net/guide/notifications
源码仓库：https://github.com/arkstack-hq/arkstack

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

- 包体积（解压后）：113 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：4 个
- peer 依赖：pusher ^5\.2\.0，@arkstack/jobs ^0\.22\.2，firebase-admin ^13\.0\.0，@arkstack/contract ^0\.22\.2，@arkstack/database ^0\.22\.2，@arkstack/driver-h3 ^0\.22\.2，@kanun-hq/plugin-phone ^0\.1\.8，@arkstack/driver-express ^0\.22\.2
- 首次发布：2026-05-06T20:16:51.582Z
- 最新版本发布：2026-11-07T14:00:09.809Z
- 近 30 天下载量：2349（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：188（近 12 个月 188 个）

## 中文简介

用于Arkstack和Nodejs的框架不可知通知模块,为多渠道通知发送提供支持.

## 安装

```sh
npm install @arkstack/notifications
```

也可以使用：`pnpm add @arkstack/notifications`、`yarn add @arkstack/notifications`、`bun add @arkstack/notifications`

## README

# @arkstack/通知

[![@arkstack/notifications](https://img.shields.io/npm/dt/@arkstack/notifications?style=flat-square&label=@arkstack/notifications&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/notifications)](https://www.npmjs.com/package/@arkstack/notifications)

用于Arkstack和Nodejs的框架不可知通知模块,为多渠道通知发送提供支持.

```ts
import { Notification } from '@arkstack/notifications'

await Notification.mail()
  .recipient({ 'ada@example.com': 'Ada Lovelace' })
  .subject('Welcome, {name}')
  .data({ name: 'Ada' })
  .send('Hello {name}, thanks for joining.')

await Notification.sms()
  .recipient('+2348012345678')
  .send('Your code is {code}', undefined, undefined, { code: '123456' })

await Notification.db().recipient(user).send('Your payout has settled', 'Payout settled')
```

使用数据库通知的应用程序应当提供 `UserNotification` 模型由 `user_notifications` 页:1 启动模板包括这个模型和迁移.

## 配置

```ts
export default () => ({
  default_driver: 'mail',
  drivers: {
    mail: {
      transport: 'smtp',
      from: env('MAIL_FROM_ADDRESS', 'no-reply@example.com'),
    },
    sms: {
      transport: 'africastalking',
      from: env('SMS_FROM'),
    },
    db: {
      table: 'user_notifications',
    },
  },
  transports: {
    ses: {
      region: env('MAIL_SES_REGION', env('AWS_DEFAULT_REGION', 'us-east-1')),
      // SESCustomOptionsSetName: "my-config-set",
      // SESCustomOptionsEmailTags: [{ Name: "tag_name", Value: "tag_value" }],
    },
    sendmail: {
      path: env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail'),
    },
    smtp: {
      host: env('MAIL_HOST', 'localhost'),
      port: env('MAIL_PORT', 1025),
      auth: {
        user: env('MAIL_USERNAME', ''),
        pass: env('MAIL_PASSWORD', ''),
      },
      debug: env('MAIL_DEBUG', false),
      secure: env('MAIL_SECURE', false),
      logger: env('MAIL_LOGGER', false),
      require_tls: env('MAIL_REQUIRE_TLS', false),
    },
    africastalking: {
      username: env('AFRICASTALKING_USERNAME', 'sandbox'),
      apiKey: env('AFRICASTALKING_API_KEY', 'sandbox'),
    },
    twilio: {
      accountSid: env('TWILIO_ACCOUNT_SID'),
      authToken: env('TWILIO_AUTH_TOKEN'),
      from: env('TWILIO_FROM'),
    },
  },
})
```

`default_driver` 选择用于 `Notification.channel()`。 。 。 . `drivers.sms.transport` 选择短消息提供者传输, 也可以 `africastalking` 或者说 `twilio`。 。 。 .

## 常见问题

### @arkstack/notifications 是什么？

用于Arkstack和Nodejs的框架不可知通知模块,为多渠道通知发送提供支持\.

### 如何安装 @arkstack/notifications？

在项目目录运行 npm install @arkstack/notifications，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@arkstack/jobs（^0\.22\.2）、@arkstack/contract（^0\.22\.2）、@arkstack/database（^0\.22\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @arkstack/notifications 支持 TypeScript 吗？

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

### @arkstack/notifications 支持 ESM 还是 CommonJS？

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

### @arkstack/notifications 可以商用吗？

@arkstack/notifications 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @arkstack/notifications 的下载量有多少？

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

### @arkstack/notifications 还在维护吗？

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

