manifest
manifest 用于声明浏览器扩展的清单(Manifest),即最终输出目录中的 manifest.json 内容。
概述
- 类型:
ManifestConfig | ManifestPathConfig | undefined - 默认值:
undefined(自动加载) - 是否必需:否
配置方式
1. 内联对象(单浏览器)
最简单的配置方式,适合只支持一个浏览器或两个浏览器配置相同的情况。
2. 按浏览器拆分(chromium / firefox)
当 Chrome 和 Firefox 需要不同配置时使用。
3. 文件路径配置
将 manifest 保存在独立的 JSON 文件中。
路径相对于 appDir。
4. 自动加载(推荐)
不写 manifest 配置时,框架会自动查找:
appDir/manifest.json,appDir/manifest.chromium.json,appDir/manifest.firefox.jsonappDir/manifest/manifest.json,appDir/manifest/manifest.chromium.json,appDir/manifest/manifest.firefox.json
任何找到的文件都将用作基础,并与同一目录中的 chromium/firefox 文件合并。
在 Manifest 中直接指定入口源文件
从 addfox 1.x 开始,你可以在 manifest 中直接指定入口的源文件路径,框架会自动识别并构建,然后将路径替换为产物路径。
框架会:
- 识别这些源文件路径(
.ts、.tsx、.js、.jsx) - 自动将它们作为 entry 处理
- 构建后将路径替换为产物路径(如
background/index.js)
支持的入口字段
你可以在以下 manifest 字段中使用源文件路径:
入口解析优先级
框架解析入口的优先级如下:
- 最高:
config.entry中显式配置的入口 - 第二:manifest 中指定的源文件路径
- 第三:自动发现(基于文件约定)
这意味着:
- 如果你在
config.entry中指定了入口,manifest 中的源文件路径会被忽略 - 如果你没有配置
config.entry,但 manifest 中有源文件路径,框架会使用 manifest 中的路径 - 如果都没有,框架会按约定自动发现入口
类型定义
注意事项
- 入口路径(如
popup/index.html)由框架根据entry和outDir自动计算 - 使用 CLI
-b chrome|firefox选择对应分支进行构建 - 框架会自动注入
background、content_scripts、action等入口路径到 manifest - 当在 manifest 中使用源文件路径时,确保文件存在,否则构建会失败

