我已经谷歌,但我不太清楚如何告诉 Typescript 编译器在导入依赖项但不使用它时停止编译失败。
注释掉代码进行比较是我经常做的事情,必须删除/注释掉相应的导入已经变得有点痛苦,特别是当大多数时候我会在几秒钟后添加代码回来。
谁能告诉我该怎么做?
我正在使用 create-react-app-typescript。
在“tsconfig.json”中设置编译器选项。
{
"compilerOptions": {
...
"noUnusedLocals": false,
"noUnusedParameters": false
}
}
现在支持@ts-ignore。这似乎已合并到 master 分支中,但不确定它在哪个 TS 版本中可用,所以理论上,这应该可行:
// @ts-ignore: unused
/// <reference path="../scripts/typedefinitions/royalslider.d.ts" />
我经常这样做,并且必须删除/注释掉相应的导入已经变得有点痛苦,特别是当大多数时候我会在几秒钟后添加代码回来。
出现 TypeScript 错误没关系,因为您仍然可以获得输出 JavaScript(使用默认选项)。这些错误的存在只是为了确保您不会犯错并给其他人带来混乱。
不推荐这个,但给你:
使用
//@ts-ignore
消除错误。
您可以更改
tsconfig
选项,即 "noUnusedLocals": false,
以及 "noUnusedLocals": false,
。
来自严格规则系列的 Typescript 警告不会导致您的应用程序在构建时失败,Typescript 错误会警告您脚本中可能存在的错误,并使您的代码比普通 Javascript 更干净。
Typescript 会警告您文件中未使用的导入,因为在 tsconfig.json 文件选项中
noUnusedLocals
设置为 true
,这意味着必须从使用或初始化它的脚本中读取|写入|导出局部变量*。
@ts-expect-error
,这样做可以,但是将来,如果有可能在同一个文件中使用所述变量,则这一行将抛出又一个错误@ts-ignore
,这将导致与@ts-expect-error
相同的行为,但即使将来使用变量,这也不会执行任何操作编辑 JSON 配置将导致全局更新,这意味着与
comment configurations
不同,这将影响项目中的每个(不是每个,请参阅 include
选项)打字稿文件
转到您的项目
tsconfig.json
文件(可能位于项目的根目录),找到 noUnusedLocals
键并将其值设置为 false
您不需要将属性
noUnusedParameters
设置为 false,它与此错误无关。
PS:此答案没有提供与其他答案任何不同的解决方案,其目的是通过提供有关错误原因的一些信息,使给定的解决方案更具可读性/理解性。