You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript编译报错:无法找到'browser'命名空间(@cliqz/adblocker)

解决@cliqz/adblocker编译时"Cannot find namespace 'browser'"错误

问题原因

报错是因为@cliqz/adblocker的类型声明中引用了Firefox扩展API的browser命名空间,但你的TypeScript配置中没有引入对应的类型定义文件。

解决方案

1. 安装Firefox扩展API的类型定义包

在项目根目录执行以下命令:

npm install --save-dev @types/firefox-webext-browser

2. 更新tsconfig.json的类型配置

打开你的tsconfig.json,在compilerOptions.types数组中添加"firefox-webext-browser",修改后的配置片段如下:

"types": ["jest", "node", "puppeteer", "winston", "chrome", "firefox-webext-browser"],

备选方案(如果不需要Firefox相关功能)

如果你只在Chrome/Node环境下使用@cliqz/adblocker,可以尝试导入针对Chrome的特定版本:

import { AdBlocker } from '@cliqz/adblocker/chrome';
// 替代通用的@cliqz/adblocker包导入

这样TypeScript就不会加载Firefox相关的类型声明,从而避免该错误。

内容的提问来源于stack exchange,提问作者Miles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:53:14