在Node.js中如何注意到一个缺失的函数?

In Node.js how to notice a missing function?

在某些 Node.js 中,我

function examp() {
    ..
    blah = bestAvailableDelauneySlot()
    ..
}

然而函数 bestAvailableDelauneySlot 根本不存在。

(在我的例子中,我愚蠢地忘记输入模块,所以,它应该是 blah = triangles.bestAvailableDelauneySlot() ..)

现在,代码

  blah = bestAvailableDelauneySlot()

根本不会产生任何错误,直到由于某种原因 examp 在运行时被调用。 (这只发生在晦涩的情况下,每周一次)。

VSCode 根本没有告诉我 bestAvailableDelauneySlot 没有定义。 “使用严格”似乎没有帮助。

到底如何防止未定义的函数名称?

一个简单的错字

blah = triangles.bestAvailableDelauneySlozz()

然后崩溃。解决方案?

也许理想情况下是与 VSCode 集成的东西?

(顺便说一句,我通常在 Mac 上使用 VSCode ...也许这就是问题所在 :O )

工具 ESLint 是检查 JavaScript 代码中问题的实际标准。

在您的特定情况下,规则 no-undef 将报告未声明的函数。

还有一个extension for Visual Studio Code下载量超过1200万:

我想提供两种方法。我希望它能帮助你。 Type checking JavaScrip.
中有更多详细信息 注意:这是 vscode.

第一个

你可以简单地在文件头添加// @ts-check来验证。在您添加 // @ts-check 之前,它不会告诉您错误(bestAvailableDelauneySlot 不存在)。

然后你加上// @ts-check,它会告诉你它不存在。

然后你声明函数,错误就没有了。

如果您输入错误,它会显示错误消息。

它也适用于 module.exports 和要求。没有// @ts-check.

添加// @ts-check.

第二

如果您不想在每个文件中都添加 //@ts-check,您可以在项目根目录中创建 jsconfig.json,以便通过在 [=17= 中添加 checkJs 来启用整个文件检查].其效果等同于在所有文件中添加//@ts-check

{
    "compilerOptions": {
        "checkJs": true
    },
    "exclude": ["node_modules", "**/node_modules/*"]
}