如何解决 Visual Studio 2019 中“只能使用‘esModuleInterop’标志默认导入”的问题?

moh*_*eli 19 typescript visual-studio-2019

我正在将我的 JavaScript 文件升级到 Visual Studio 2019 中的 TypeScript,以更好地管理它们。

当我想从另一个文件导入模块时,我看到波浪线抱怨:

x 只能使用“esModuleInterop”标志默认导入

我应该如何解决这个问题?

leh*_*ang 28

一个简单的办法是设置"esModuleInterop": true在compilerOptions你的tsconfig.json文件中。

例子:

{
  "compilerOptions": {    
    "esModuleInterop": true
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 我必须重建应用程序才能开始工作。然后错误就被修复了。 (5认同)
  • 这似乎没有改变任何东西 (3认同)
  • 就我而言,我必须重新启动 Sublime Text (2认同)

Kam*_*dos 18

我遇到了同样的问题并解决如下:

改变这个

import foo from 'foo';
Run Code Online (Sandbox Code Playgroud)

对此

import * as foo from 'foo';
Run Code Online (Sandbox Code Playgroud)