Skip to main content
将 JSON 资源用于规则集和 managed schema 等扩展功能,并享受校验与可预测的输出处理。 Extension.js 会处理 manifest 引用的 JSON 资源,并针对已知的功能类型对其进行校验。在开发期它会监视这些文件,并在需要时输出对应的产物。

JSON 能力

JSON 支持

常见的 manifest 字段:

manifest.json 中的 JSON 声明示例

manifest.json 中的 JSON 声明示例:

输出路径

Extension.js 会按功能上下文输出 JSON 资源(例如 DNR 与 storage schema 输出):

开发期行为

  • Extension.js 会把 manifest 引用的 JSON 文件作为文件依赖跟踪。
  • 编辑 JSON 会触发重新编译。
  • 某些与 JSON 相关的结构性 manifest 变更可能要求重启开发服务器。

校验行为

Extension.js 会校验:
  • 所引用资源的 JSON 语法
  • DNR 规则集形状(基于数组的规则集期望)
  • Managed storage schema 形状(基于对象的期望)

环境占位符

在编译期,Extension.js 会替换输出 .json 资源中的 $EXTENSION_* 占位符,使用的逻辑与静态 HTML 占位符替换相同。

最佳实践

  • 让 manifest 引用的 JSON 聚焦于浏览器所需的资源格式。
  • 在持续集成(CI)中校验 JSON 资源,再进行打包。
  • 在 manifest 中优先使用稳定的文件路径,减少开发期需要重启的结构性变更。
  • 对于代码消费的应用数据,请把 JS/TS 模块中的 JSON 导入与 manifest 资源 JSON 分开处理。

下一步