清单文件(Manifest)

CRXJS解析清单文件以发现您的扩展使用的入口文件。

清单文件配置

CRXJS导出一个名为defineManifest的辅助函数。 它类似于Vite的defineConfig,并支持自动完成和动态或异步定义。

基础用法

manifest.config.ts
import { defineManifest } from '@crxjs/vite-plugin'

export default defineManifest({
  manifest_version: 3,
  name: 'CRXJS-guide',
  version: '1.0.0',
  action: {
    default_popup: 'index.html',
  },
})

路径解析规则

1. 基准定义

manifest资源配置路径均相对于Vite项目根目录(即vite.config.ts所在目录)解析。

2. 正确配置示例

manifest.json
{
  "options_page": "options.html",
  "devtools_page": "pages/devtools.html"
}

特征

  • 使用简洁的相对路径(无需./前缀)
  • 支持多级目录嵌套

3. 常见错误模式

manifest.json
{
  "options_page": "./src/options.html",
  "devtools_page": "/Users/project/pages/devtools.html"
}

禁止行为

  • 使用./../等路径修饰符
  • 硬编码操作系统级绝对路径