框架
自定义
清单覆盖

覆盖清单文件

Plasmo 框架通过在 package.json 中扩展一个 manifest 字段来覆盖生成的扩展清单文件。主要用例是启用 Plasmo 框架尚未原生支持的功能。

例如,Plasmo 框架可能无法理解你需要 activeTab 权限。你需要像下面这样修改项目的 package.json 文件:

package.json
...
"manifest": {
    "permissions": [
        "activeTab"
    ]
}

Plasmo 将从 package.json 中传递以下字段到生成的扩展清单文件中:

  • packageJson.version -> manifest.version
  • packageJson.displayName -> manifest.name
  • packageJson.description -> manifest.description
  • packageJson.author -> manifest.author
  • packageJson.homepage -> manifest.homepage_url

使用环境变量

你可以在清单覆盖中使用环境变量。例如,在 with-storage 示例 (opens in a new tab) 中:

package.json
"manifest": {
  "browser_specific_settings": {
    "gecko": {
      "id": "$FIREFOX_EXT_ID"
    }
  }
}

如果找不到环境变量,该字段将完全从清单文件中移除。这使得通过指定特定目标的环境变量与多个浏览器目标一起工作成为可能。

使用本地化模板字符串

你可以在清单覆盖中使用本地化模板字符串:

package.json
"manifest": {
  "name": "__MSG_extensionName__"
}