【问题标题】:VSCode thinks that some imports are not used in TSX files, but they areVSCode 认为一些导入没有在 TSX 文件中使用,但它们是
【发布时间】:2022-11-16 02:19:57
【问题描述】:

我正在处理 StencilJS 项目(tsx 文件),VSCode 错误地通知我一些声明从未使用过

在屏幕截图中它抱怨类名,但我收到了类似的导入组件的消息

“组件”已定义但从未使用过。允许未使用的变量必须匹配

但是项目编译得很好。我还从头开始创建了一个新的模板项目,它没有这些问题:(

现在导致我的问题是,当我点击save时,所有未使用的导入都被删除,这是不正确的(=构建失败)

.eslintrc.json里面我注意到我有

 "plugins": ["@typescript-eslint", "import", "unused-imports"],
 "rules": {
    "unused-imports/no-unused-imports": "error",

如果我将“错误”设置为0,错误会变成警告。

有什么建议可能导致这种奇怪吗?

【问题讨论】:

  • 直觉是 VS 被装饰者弄糊涂了? @ 符号。如果您使用不带 @ 的 Component 会怎样?它会停止抱怨吗?
  • 实际上,如果我删除 @,组件导入和类将不再被使用。
  • 我从 .eslintrc.json 添加了一些内容
  • TypeScript / eslint / @typescript-eslint 中的一个或多个的直觉是旧的并且有一个错误,升级将修复它。

标签: typescript visual-studio-code stenciljs tsx


【解决方案1】:

将类定义和导出语句分开怎么样?

    class MyFoo {
      @Element() host: HTMLElement;
}

...

module.exports = MyFoo;
/* OR if there are other exports, lump them together */
module.exports = {
    ...,
    ...,
    MyFoo
}

【讨论】:

  • 拆分似乎没有帮助,除了未使用的类消失了
猜你喜欢
  • 2021-07-21
  • 1970-01-01
  • 2022-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-05-25
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
相关资源
最近更新 更多