CRXJS解析清单文件以发现您的扩展使用的入口文件。
与 manifest.json 相比,我们强烈建议您使用 defineManifest,因为它能提供更强大的类型支持和动态功能。
manifest.json
defineManifest
CRXJS导出一个名为defineManifest的辅助函数。 它类似于Vite的defineConfig,并支持自动完成和动态或异步定义。
defineConfig
import { defineManifest } from '@crxjs/vite-plugin' export default defineManifest({ manifest_version: 3, name: 'CRXJS-guide', version: '1.0.0', action: { default_popup: 'index.html', }, })
如果您使用JSON文件,考虑使用JSON Schema Store中的模式来利用自动完成和验证功能。
您可以通过将此添加到您的设置文件中来配置VSCode使用JSON模式:
{ "json.schemas": [ { "fileMatch": ["manifest.json"], "url": "https://json.schemastore.org/chrome-manifest.json" } ] }
{ "manifest_version": 3, "name": "CRXJS from scratch", "version": "1.0.0", "action": { "default_popup": "index.html" } }
manifest资源配置路径均相对于Vite项目根目录(即vite.config.ts所在目录)解析。
vite.config.ts
{ "options_page": "options.html", "devtools_page": "pages/devtools.html" }
特征:
./
{ "options_page": "./src/options.html", "devtools_page": "/Users/project/pages/devtools.html" }
禁止行为:
../
本页目录