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

Vue项目中如何阻止VSCode为btoa方法添加删除线?

问题解答

1. 删除线的来源

这个删除线不是ESLint导致的,是VS Code内置的TypeScript语言服务造成的。你的项目大概率同时引入了Node.js和浏览器DOM的类型定义,而Node.js的类型把btoa标记为废弃,优先级覆盖了浏览器环境的正常定义,所以VS Code显示了删除线。

2. 取消标记的解决方案

不用写window.btoa,只要调整项目的类型配置,明确告诉TypeScript我们的代码运行在浏览器环境,具体步骤如下:

方法一:修改jsconfig.json(Vue3默认项目适用)

在项目根目录的jsconfig.json中,调整compilerOptions,指定只加载浏览器相关类型,移除Node.js类型:

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "ESNext",
    "lib": ["ESNext", "DOM"], // 明确引入浏览器DOM库
    "types": ["vue"], // 仅保留Vue类型,移除node相关配置
    "moduleResolution": "bundler"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

方法二:卸载多余的@types/node依赖

如果你的项目完全不需要Node.js相关API,直接卸载@types/node:

npm uninstall @types/node --save-dev

方法三:VS Code临时全局调整(不推荐项目级使用)

打开VS Code设置(快捷键Ctrl+,),搜索typescript.validate.enable关闭TS类型检查,但这会关闭所有类型提示,不如前两种方法精准。

配置完成后,重启VS Code或重新加载窗口(快捷键Ctrl+Shift+P,选择"Reload Window"),btoa的删除线就会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:28:15