为什么 VSCode 调试器总是将节点导入显示为未定义?

Ale*_*ong 5 node.js ecmascript-6 visual-studio-code

VSCode 调试器总是将导入显示为未定义,即使它们显然没有定义,为什么它会这样做,有没有办法修复它?

在下面的示例中,变量“Lot”被导入并且不是未定义的,如 console.log 行的结果所示,但是当我在调试器中手动键入“Lot”时,它说它是未定义的。

带有调试器和代码的屏幕截图

示例中的代码:

import Lot from '../db/models/Lot'

console.log(Lot === undefined) // prints false
console.log("break") // Debugger stopped at this breakpoint shows Lot as undefined 

Run Code Online (Sandbox Code Playgroud)

如果我将 Lot 分配给局部变量,那么它会起作用:

const Lot2 = Lot
console.log("break") // Debugger stopped at this breakpoint shows Lot2 as defined
Run Code Online (Sandbox Code Playgroud)

小智 5

我发现了一些关于这一点的信息:在Closure调试器窗口的部分中,您应该发现导入的模块_1在其名称后面有,然后您可以使用Lot_1.Lot.

这篇文章表明,当出现compilerOptions以下情况时会发生这种情况ES6