# @eggjs/static 中文文档

规范地址：https://npmcn.com/package/%40eggjs/static/

版本：4\.1\.0
npm 元数据更新时间：2026-10-07T08:23:04.523Z
中文译文更新时间：2026-11-13T09:46:11.187Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eggjs/static
原文对照：https://npmcn.com/package/%40eggjs/static/?lang=original
项目主页：https://github.com/eggjs/egg/tree/next/plugins/static
源码仓库：https://github.com/eggjs/egg

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

- 包体积（解压后）：11.1 kB，15 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.18\.0
- 运行依赖：4 个
- peer 依赖：egg 4\.2\.0
- 首次发布：2025-01-12T15:25:36.544Z
- 最新版本发布：2026-10-07T08:23:04.041Z
- 近 30 天下载量：5058（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：54（近 12 个月 33 个）

## 中文简介

彩蛋的静态服务器插件

## 安装

```sh
npm install @eggjs/static
```

也可以使用：`pnpm add @eggjs/static`、`yarn add @eggjs/static`、`bun add @eggjs/static`

## README

# @eggjs/ static (英语)

[![NPM version](https://img.shields.io/npm/v/@eggjs/static.svg?style=flat-square)](https://npmjs.org/package/@eggjs/static) [![Known Vulnerabilities](https://snyk.io/test/npm/@eggjs/static/badge.svg?style=flat-square)](https://snyk.io/test/npm/@eggjs/static) [![npm download](https://img.shields.io/npm/dm/@eggjs/static.svg?style=flat-square)](https://npmjs.org/package/@eggjs/static) [![Node.js Version](https://img.shields.io/node/v/@eggjs/static.svg?style=flat)](https://nodejs.org/en/download/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com/)

彩蛋的静态服务器插件, 以 [@eggjs/koa- static-cache (英语)](https://github.com/eggjs/egg/tree/next/packages/koa-static-cache)。 。 。 .

## 安装

`@eggjs/static` 是一个已内置的插件。 默认启用 .

## 配置

`@eggjs/static` 支持所有配置在 [@eggjs/koa- static-cache (英语)](https://github.com/eggjs/egg/tree/next/packages/koa-static-cache)。 。 。 . 且以下为默认配置 :

-   前缀 : `'/public/'`
-   目录 : `path.join(appInfo.baseDir, 'app/public')`
-   动态 : `true`
-   预装: `false`
-   最大年龄 : `31536000` 以圆柱形, `0` 在其它洞穴中
-   缓冲 : `true` 以圆柱形, `false` 在其它洞穴中

`@eggjs/static` 提供另一个选项:

-   最大文件: 缓存项目的最大值, 仅在动态为真实时有效, 默认为 `1000`。 。 。 .

**所有静态文件 `$baseDir/app/public` 可使用前缀访问 `/public`,所有的文件都是懒惰的.**

-   在非生产环境中,资产不会被缓存,你的修改可以立即生效.
-   在生产环境中, `@eggjs/static` 将会在访问后缓存资产,您需要重新启动更新资产的进程.
-   默认值为 `$baseDir/app/public` 但你也可以定义 **多个目录** 通过使用 `dir: [dir1, dir2, ...]` 或者说 `dir: [dir1, { prefix: '/static2', dir: dir2 }]`,静态服务器将使用所有这些目录.

```ts
// {app_root}/config/config.default.ts
export default {
  static: {
    // maxAge: 31536000,
  },
};
```

## 问题和建议

请打开一个问题 [这里](https://github.com/eggjs/egg/issues)。 。 。 .

## 许可证

[麻省理工学院](https://npmcn.com/package/%40eggjs/static/LICENSE)

## 贡献者

[![Contributors](https://contrib.rocks/image?repo=eggjs/egg)](https://github.com/eggjs/egg/graphs/contributors)

制造的 [贡献者-img](https://contrib.rocks/)。 。 。 .

## 常见问题

### @eggjs/static 是什么？

彩蛋的静态服务器插件

### 如何安装 @eggjs/static？

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

### @eggjs/static 支持 TypeScript 吗？

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

### @eggjs/static 支持 ESM 还是 CommonJS？

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

### @eggjs/static 需要什么版本的 Node\.js？

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

### @eggjs/static 可以商用吗？

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

### @eggjs/static 的下载量有多少？

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

### @eggjs/static 还在维护吗？

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

