如何停止 ts-lint 抱怨我在文件中创建的类和在其他文件中创建的类

我已将以下语句放在 Visual Studio Code 文件的顶部:

// @ts-check

我的扩展中有 ESLint 2.1.23。

我在我的 javascript MessageQueue 中创建了一个类,它有一个成员,它是我的另一个类,称为 OrderedListARR,它在另一个文件中定义。这是代码:

MessageQueue = function () {
    this.m_ARR = new OrderedListARR();
};

这是它在 Visual Studio Code 中的样子:

如何停止 ts-lint 抱怨我在文件中创建的类和在其他文件中创建的类

当我将鼠标悬停在 MessageQueue 上时,它会显示无法找到名称 MessageQueue,对于 OrderedListARR 也是如此。

我怎样才能克服这个问题,以便 ts-lint 认识到这些是真正的诚实事情?

avril_li 回答:如何停止 ts-lint 抱怨我在文件中创建的类和在其他文件中创建的类

我建议阅读有关导入/导出的内容,例如CommonJSESM 均受 NodeJS 支持(如果您将脚本标记为 ESM,则大多数浏览器都支持 ESM)。您可以谷歌了解如何在两者中准确使用 ESM 以及如何在浏览器中使用 CommonJS(可能通过捆绑),但 CJS 应该默认使用 require('module') 在 Node.js 中工作。

简单解释,一个文件,例如something.js 看起来像这样:

module.exports.SomeClass = ...;

你的另一个文件是这样的:

const { SomeClass } = require('./something');

那些示例使用 CJS,ESM 将使用不同的语法

用于导入您在其他文件中定义的类。

您的第二个问题似乎是您在定义 MessageQueue 时没有使用 const/let/var。当您声明一个全新的变量时,您需要使用例如let someVar = ...;。你没有,因此 ESLint 抱怨。对于类,您还应该能够使用 class syntax。在这种情况下,简单地执行 class ClassName { ... } 自动计为使用 var

本文链接:https://www.f2er.com/1806.html

大家都在问