2017-02-27 78 views
3

我的PhpStorm/WebStorm IDE不断告诉,classconstructor未用于某些类(并非全部)。我已经将JavaScript语言版本设置为ECMAScript6,并在设置中启用了Node.js支持。一般的代码也可以正常工作。例如...为什么JetBrains IDE总是说Class和Constructor未被使用?

文件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。我还没有找到一种方法来防止这一点...

+0

我想,你可以抑制“未使用的类和方法”检验在文件 - 首选项 - 代码检查 - JS。我不确定这条道路,因为我在6个月前与PhpStorm合作过,但事情就是这样。 –

+0

@JirkaPicek但是这将禁用整个项目的检查。这会起作用,但影响更大。我想进行检查,但要正确工作。 ;) – eisbehr

+0

@Gimby当然,必须启用。但是这已经在我的项目中启用了。我已经把这个问题扩展到了这一点。 – eisbehr

回答

6

看来,我只是需要问在这里,自己找到答案。 ;)

该问题似乎属于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 
+1

比解决方案更多的补丁,但我想它的工作原理。谢谢。 – Dakusan