# @elysiajs/cors 中文文档

规范地址：https://npmcn.com/package/%40elysiajs/cors/

版本：1\.4\.3
npm 元数据更新时间：2026-11-05T09:21:11.143Z
中文译文更新时间：2026-11-13T14:17:02.534Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：76.2 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：elysia \>= 1\.4\.0
- 首次发布：2022-12-04T13:37:38.818Z
- 最新版本发布：2026-11-05T09:21:10.741Z
- 近 30 天下载量：3240406（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：49（近 12 个月 3 个）

## 中文简介

支持 Cross Origin 请求的 Elysia 插件

## 安装

```sh
npm install @elysiajs/cors
```

也可以使用：`pnpm add @elysiajs/cors`、`yarn add @elysiajs/cors`、`bun add @elysiajs/cors`

## README

# @elysia/cors (英语)

[爱莉西亚](https://github.com/elysiajs/elysia) 支持跨源请求

## 安装

```bash
bun add @elysia/cors
```

## 示例

```typescript
import { Elysia } from 'elysia'
import { cors } from '@elysia/cors'

const app = new Elysia()
    .use(cors())
    .listen(8080)
```

## 配置

### 来源

@ 默认 `true`

指定 **访问控制- Allow-Origin** 头曰.

数值可以是以下之一:

-   `string` - 直接分配给以下人员的原产地线 `Access-Control-Allow-Origin`
    
-   `boolean` - 如果确定无误,请求来源将反映在 `Access-Control-Allow-Origin`
    
-   `RegExp` - 用于测试请求url的图案,如果匹配,将接受来源.
    
-   `Function` - 验证原产地接受与否的自定义逻辑。 如果 `true` 已返回.
    
    -   函数将接受 `Context` 碞钩 `Handler`
    
    ```typescript
    // Example usage
    app.use(cors, {
        origin: ({ request, headers }) => true
    })
    
    // Type Definition
    type CORSOriginFn = (context: Context) => boolean | void
    ```
    
-   `Array<string | RegExp | Function>` - 试图找到上面所有选项的真伪价值。 如果有的话,会接受请求 `true`。 。 。 .
    

### 方法

@ 默认 `*`

指派 **Access-control-Allow-方法** 头曰.

数值可以是以下之一: 接受 :

-   `undefined | null | ''` - 忽略所有的方法.
    
-   `*` - 接受所有的方法.
    
-   `HTTPMethod` - 将直接设定为 **Access-control-Allow-方法**。 。 。 .
    
    -   期望单个方法或逗号限制字符串( 如“ GET、 PUT、 POST ”)
-   `HTTPMethod[]` - 允许多种HTTP方法.
    
    -   \['GET','PUT','POST'\]

### 允许的标题

@ 默认 `*`

指派 **访问控制- Allow 标题** 头曰.

允许带指定信头的请求 .

数值可以是以下之一:

-   `string`
    
    -   期望单个方法或逗号限制字符串(如:"Content-Type,授权").
-   `string[]` - 允许多种HTTP方法.
    
    -   等: \["Content-Type","授权"\]

### 已曝光标题

@ 默认 `*`

指派 **访问控制- 曝光信头** 头曰.

返回指定的信头以 CORS 模式请求 .

数值可以是以下之一:

-   `string`
    
    -   期望一种单一方法或逗号限制字符串(如:"Content-Type","X-Powered-By").
-   `string[]` - 允许多种HTTP方法.
    
    -   等: \["Content-Type","X-Powered-By"\] (中文(简体) )

### 全权证书

@ 默认 `false`

指派 **Access-control-Allow-证书** 头曰.

允许收到的请求发送 `credentials` 头曰.

-   `boolean` - 如果设置为 `true`。 。 。 .

具有信誉的CORS应使用明确的来源许可清单:

```typescript
cors({
    origin: 'https://app.example.com',
    credentials: true
})
```

对于后向兼容, `cors({ credentials: true })` 反映并信任任何请求来源。 不要对私人 API 使用此配置 .

### 最大年龄

@ 默认 `5`

指派 **访问控制- 最大年龄** 头曰.

允许收到的请求发送 `credentials` 头曰.

-   `number` - 以秒计,说明飞行前请求的结果可缓存多久.

### 飞行前

@ 默认 `true`

添加 `[OPTIONS] /*` 处理飞行前请求的处理者 `HTTP 204` 和CORS提示.

-   `boolean` - 如果设置为 `true`。 。 。 .

## 常见问题

### @elysiajs/cors 是什么？

支持 Cross Origin 请求的 Elysia 插件

### 如何安装 @elysiajs/cors？

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

### @elysiajs/cors 支持 TypeScript 吗？

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

### @elysiajs/cors 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @elysiajs/cors 可以商用吗？

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

### @elysiajs/cors 的下载量有多少？

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

### @elysiajs/cors 还在维护吗？

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

