2017-02-27 20 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