# @boiseitguru/cookie-cutter 中文文档

规范地址：https://npmcn.com/package/%40boiseitguru/cookie-cutter/

版本：0\.3\.1
npm 元数据更新时间：2025-11-03T21:16:52.616Z
中文译文更新时间：2026-11-08T10:11:09.540Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：12.3 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-07-09T21:49:56.145Z
- 最新版本发布：2025-11-03T21:16:52.392Z
- 近 30 天下载量：7522（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

在浏览器中获取和设置 cookie 的相容模块

## 安装

```sh
npm install @boiseitguru/cookie-cutter
```

也可以使用：`pnpm add @boiseitguru/cookie-cutter`、`yarn add @boiseitguru/cookie-cutter`、`bun add @boiseitguru/cookie-cutter`

## README

# 饼干蛋糕

[![npm version](https://img.shields.io/npm/v/%40boiseitguru/cookie-cutter.svg)](https://www.npmjs.com/package/@boiseitguru/cookie-cutter) [![bundle size](https://img.shields.io/bundlephobia/minzip/@boiseitguru/cookie-cutter.svg)](https://bundlephobia.com/package/@boiseitguru/cookie-cutter)

在浏览器中读取和写入 cookie 或任何曝光环境的无依赖性小助手 `document`\- 风格界面.

## 目录

-   [特征](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-features)
-   [释放要闻(0.3.x)](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-release-highlights-03x)
-   [安装](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-installation)
-   [快速启动](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-quick-start)
-   [API 参考](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-api-reference)
-   [Cookie 选项](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-cookie-options)
-   [实例](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-examples)
-   [类型脚本](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-typescript)
-   [测试](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-testing)
-   [捐款](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-contributing)
-   [项目来源和信用](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-project-origins--credits)
-   [许可证](https://npmcn.com/package/%40boiseitguru/cookie-cutter/#readme-license)

## 特征

-   零运行时间依赖性和ES5友好源,因此它与遗留的工具链保持了干净的捆绑.
-   工作在浏览器,浏览器风格的捆绑,以及当您提供文档分页时的Node.js.
-   内建的TypeScript声明与JavaScript模块具有相同的API形状.
-   已分割的 CHIPS 属性支持外加 SameSite 守护符,以保持您与当前浏览器要求保持一致 .

## 释放要闻(0.3.x)

-   添加 `partitioned` 属性使 Cookie 在匹配 Mozilla 的 Set- Cookie 指引的同时可以选择 CHIPS .
-   警告时 `SameSite: "None"` 以无 `secure: true` 提供 `cookie.configure({ suppressInsecureSameSiteNoneWarning: true })` 关闭本地 HTTP 设置中的警告 .
-   引入顶级 `cookie.clear` 帮助(包括类型脚本声明)和保证删除强制 `Max-Age=0`。 。 。 .
-   扩展序列化以覆盖 `HttpOnly`, (中文(简体) ), `Max-Age`,以及 `SameSite` 因此释放出cookie的属性反映了现代浏览器的期望.

## 安装

```sh
npm install @boiseitguru/cookie-cutter
```

## 快速启动

```javascript
// CommonJS
var cookie = require("@boiseitguru/cookie-cutter");

var visits = parseInt(cookie.get("visits"), 10) || 0;
cookie.set("visits", visits + 1, { path: "/" });
```

```javascript
// ES Modules (modern bundlers)
import cookie from "@boiseitguru/cookie-cutter";

const visits = Number(cookie.get("visits") || 0) + 1;
cookie.set("visits", String(visits), { path: "/" });
```

## API 参考

### `cookie(document?: Document | string)`

创建一个绑定在所提供文档或饼干字符串上的饼干控制器。 如果没有给出参数,则创建一个空的饼干罐. 当您在浏览器中导入/要求模块时,默认导出已经 与全球 `document`,所以你可以打电话 `cookie.get`, (中文(简体) ), `cookie.set`, (中文(简体) ), 财务报告和审定财务报表 `cookie.clear` 直接如“快速启动”所示.

### `cookie.get(key: string): string | undefined`

返回为 `key`,或 `undefined` 如果饼干没有设置.

### `cookie.set(key: string, value: string, options?: CookieOptions): string`

序列化 `key=value` 带有任何提供的饼干属性,指定给 `document.cookie`,然后返回序列字符串。 何时 `options.SameSite === "None"` 财务报告和审定财务报表 `options.secure` 没有 `true`,然后将警告打印到 `console.warn` 预测即将执行。 设置 `options.partitioned === true` 附加 `Partitioned` 属性.

### `cookie.clear(key: string, options?: CookieOptions): string`

清除饼干 `key` 通过授权 `set` 过去已过期的 `Max-Age = 0`。通过与设置饼干时相同的选项(例如 `path` 或者说 `domain`)所以浏览器的目标是正确的饼干.

### `cookie.configure(options: CookieConfig): void`

调整未来 cookie 操作的全局默认值, 如在本地开发时静音 SameSite 警告 .

```typescript
type CookieConfig = {
  suppressInsecureSameSiteNoneWarning?: boolean;
};
```

-   `suppressInsecureSameSiteNoneWarning`: 当 `true`,禁用由 `cookie.set` 页:1 `SameSite: "None"` 饼干不见了 `secure` 旗帜。 适用于HTTP的非生产开发.

## Cookie 选项

| 选项 | 类型 | 说明 |
| --- | --- | --- |
| `expires` | `Date` | 设定饼干过期日期 . |
| `path` | `string` | 将饼干限制在特定路径上 . |
| `domain` | `string` | 将饼干限制在特定域内. |
| `secure` | `boolean` | 将饼干标为仅安全的. 浏览器在 `SameSite` 实值 `"None"`。 。 。 . |
| `HttpOnly` | `boolean` | 添加 `HttpOnly` 属性. |
| `MaxAge` | `number` | 通过 `Max-Age`。 。 。 . |
| `SameSite` | `"Strict" | "Lax" | "None"` | 控制跨场饼干行为. |
| `partitioned` | `boolean` | 附加 `Partitioned` cHIPS 存储属性( 需要) `secure: true` 在支持浏览器中). |

## 实例

### 分区的 SameSite=无 Cookie

```javascript
var cookie = require("@boiseitguru/cookie-cutter");
var api = cookie(document);

api.set("session", "abc123", {
  secure: true,
  SameSite: "None",
  partitioned: true
});
```

这种组合满足了当前Mozilla Set-Cookie对分块饼干的期望.

### 在地方发展期间制止警告

```javascript
var cookie = require("@boiseitguru/cookie-cutter");

cookie.configure({ suppressInsecureSameSiteNoneWarning: true });
var api = cookie({ cookie: "" });

api.set("token", "dev-only", { SameSite: "None" });
```

## 类型脚本

类型定义船与包。 使用默认或普通JS语法导入模块,并享受饼干选项的自动完成,包括 `partitioned` 财务报告和审定财务报表 `SameSite`。 。 。 .

```typescript
import cookie = require("@boiseitguru/cookie-cutter");

const api = cookie();
api.set("theme", "dark", { SameSite: "Lax", MaxAge: 300 });
```

## 测试

运行磁带测试套件 :

```sh
npm test
```

## 捐款

-   保持ES5编码样式:双相距缩进, `var` 声明、双引字符串和明确的分号.
-   当运行时间 API 改变时更新 TypeScript 声明 .
-   在功能改变的同时添加有重点的测试, 以便行为保持锁定 .

## 项目来源和信用

这个寄存器保存了詹姆斯·哈利迪(英语:James Halliday (substack))最初的cookie-cutter模块,以确保持续提供,TypeScript支持和现代cookie属性更新在此保持.

## 许可证

麻省理工学院. 见 [自由主义](https://npmcn.com/package/%40boiseitguru/cookie-cutter/LICENSE) 详细文件.

## 常见问题

### @boiseitguru/cookie-cutter 是什么？

在浏览器中获取和设置 cookie 的相容模块

### 如何安装 @boiseitguru/cookie-cutter？

在项目目录运行 npm install @boiseitguru/cookie-cutter，或使用 pnpm add / yarn add / bun add。

### @boiseitguru/cookie-cutter 支持 TypeScript 吗？

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

### @boiseitguru/cookie-cutter 支持 ESM 还是 CommonJS？

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

### @boiseitguru/cookie-cutter 可以商用吗？

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

### @boiseitguru/cookie-cutter 的下载量有多少？

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

### @boiseitguru/cookie-cutter 还在维护吗？

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

