# AfterPack 快速上手：几分钟内混淆一次构建

选择你的框架，安装一个开发依赖，执行构建，然后打开 Protection Map。

Source: https://www.afterpack.dev/zh/docs/quickstart

**用编码智能体开始** (粘贴到 Claude Code、Codex、Cursor 或 Copilot):

```text
Add AfterPack to this project: read https://www.afterpack.dev/llms.txt, follow the quickstart for my framework, then run a production build and show me the Protection Map.
```

## 选择你的框架

*(interactive framework picker — pick a framework below or see the web page)*

## 默认构建会做什么

- **`light` [预设](https://www.afterpack.dev/zh/docs/config#preset)**：[复杂度](https://www.afterpack.dev/zh/docs/config#complexity)为 5。字符串字面量会被[编码](https://www.afterpack.dev/zh/docs/config#strings-encode)，标识符会被重命名，语法会被重写，不添加任何结构层。当项目需要更强的保护时再提高预设，代价是经过实测的[加载代价](https://www.afterpack.dev/zh/docs/presets#load-cost)；参见[预设](https://www.afterpack.dev/zh/docs/presets)。
- **每次构建使用一个新的随机[种子](https://www.afterpack.dev/zh/docs/config#seed)**，因此同一份源代码的两次构建在结构上互不相同。[只构建一次，并将同一份字节提升到各个环境](https://www.afterpack.dev/zh/docs/builds)；只有在需要可复现输出时才固定 `seed: "git"`。
- **开发构建不受影响。**插件只作用于[生产](https://www.afterpack.dev/zh/docs/config#build-mode)构建。
- **失败即中止。**引擎无法混淆的文件会让构建失败，并报出该文件的名称。参见[退出码](https://www.afterpack.dev/zh/docs/diagnostics#exit-codes)。

若要保留插件但在某一次运行中跳过引擎，将 [`build.autorun`](https://www.afterpack.dev/zh/docs/config#build-autorun) 设为 `false`。

## 检查结果

[Protection Map](https://www.afterpack.dev/zh/docs/protection-map) 是你的原始源代码，按每个词元经历了多少变换着色。在 CI 之外，当打包工具输出了 source map 时，它会被写入 `.afterpack/protectionMap.html`；每篇框架指南都说明了如何开启。这份报告包含你的完整源代码。切勿提交或对外提供它。`.afterpack/` 自带一个 `.gitignore`，因此 git 会忽略它。

*(live Protection Map demo embed — see https://www.afterpack.dev/protection-map-demo)*

打开[在线演示报告](https://www.afterpack.dev/protection-map-demo)，在第一次构建之前先看看它的样子。

## 对特定代码施加更强的保护

全局混淆覆盖整个 bundle。要对某一区域加强保护，或让某一区域保持原样，用[指令](https://www.afterpack.dev/zh/docs/directives)标记它：

```ts
/* @afterpack preset=hard */
function checkLicense(token: string) {
  return verify(token);
}
/* @afterpack end */

const apiKey = /* @afterpack preset=extreme */ "YOUR_SECRET";
```

指令在 [Pro](https://www.afterpack.dev/zh/docs/tiers) 构建上生效；[指令](https://www.afterpack.dev/zh/docs/directives)一页是语法以及所有可设置键的参考。

## 下一步

- [AfterPack 的工作原理](https://www.afterpack.dev/zh/docs/concepts)：攻击者能恢复什么，不能恢复什么。
- [配置](https://www.afterpack.dev/zh/docs/config)：每一个选项以及在哪里设置。
- [最佳实践](https://www.afterpack.dev/zh/docs/best-practices)：该标记什么、该放过什么，以及 CI。
