为什么 JetBrains IDE 一直说 Class 和 Constructor 未使用?

Why is the JetBrains IDE keeps saying Class and Constructor are unused?

我的 PhpStorm / WebStorm IDE 一直在说,classconstructor 未用于某些 classes(并非全部)。我已经将 JavaScript 语言版本设置为 ECMAScript6 并在设置中启用了 Node.js 支持。一般的代码也可以正常工作。例如...

文件TestClass.js:

module.exports = class Test {
    constructor() {
        console.log("Test.constructor");
    }

    test() {
        console.log("Test.test");
    }
}

文件Test.js:

let Test = require("./TestClass");
let inst = new Test();
inst.test();

有了这个,代码检查不断告诉我:

Unused class TestClass
Unused method constructor

有什么问题或者有办法抑制警告吗? IDE 通常不显示抑制此选项的选项。

另一个问题似乎是,匿名 classed 也会导致检查问题。如果我将 module.exports = class Test { 重写为 module.exports = class {,即使 class 中的方法 test() 也会被标记为 unused。我也没有找到防止这种情况发生的方法...

看来我只需要在这里问一下,自己寻找答案。 ;)

问题似乎属于 class 的内联导出。当先创建 class,然后 export 然后 class name 解决问题时。

所以我只需要像这样重写我的 class 文件:

class Test { // instead of module.exports = class Test {
    constructor() {
        console.log("Test.constructor");
    }
}

module.exports = Test; // put the export to an extra line