node.js - 为什么 JetBrains IDE 一直说 Class 和 Constructor 未使用?

标签 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();

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

Unused class TestClass
Unused method constructor

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

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

最佳答案

看来只需要在这里问一下,自己找答案就可以了。 ;)

问题似乎属于的内联导出。当先创建class,然后通过class nameexport解决问题。

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

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

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

关于node.js - 为什么 JetBrains IDE 一直说 Class 和 Constructor 未使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42487363/

相关文章:

phpstorm - 格式化 Smarty 模板时禁用 PhpStorm 中的硬换行

mysql - PHPStorm Mysql数据源:权限被拒绝:connect

webstorm - 如何向左或向右移动所选文本

javascript - Webstorm 与 CreateJS 库

javascript - 创建 yeoman 生成器时无法要求/导入

javascript - DynamoDB API Node ,是否可以同步获取结果?

PHPStorm:模板内带有自定义标签的 JS 语言注入(inject)

javascript - 如何将 nightwatch.js 与 WebStorm 集成

mysql - 如何使用expressjs获取表格行复选框选定的数据以发布路线?

node.js - 如何将 process.stdin 的输入与字符串进行比较? Node.js