为什么JetBrains IDE一直在说类和构造函数未被使用?

时间:2017-02-27 13:46:02

标签: node.js phpstorm webstorm jetbrains-ide es6-class

我的PhpStorm / WebStorm IDE一直在告诉我,classconstructor未用于某些类(并非适用于所有类)。我已经将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();

有了这个,代码检查一直告诉我:

  

未使用的类TestClass
  未使用的方法构造函数

有什么不妥或有办法压制警告吗? IDE通常不会显示任何禁止此选项的选项。

即使是另一个问题,匿名分类也会导致检查问题。如果我将module.exports = class Test {重写为module.exports = class {,即使班级中的方法test()也会被标记为unused。我还没有办法防止这种情况......

1 个答案:

答案 0 :(得分:9)

似乎我只需要在这里问一下,自己找到答案。 ;)

问题似乎属于class的内联导出。首先创建class,然后export创建class name,然后由class Test { // instead of module.exports = class Test { constructor() { console.log("Test.constructor"); } } module.exports = Test; // put the export to an extra line 解决问题。

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

ReferenceRequestBuilder