Typescript导入函数获取编译器错误

Typescript导入函数获取编译器错误,typescript,visual-studio-2017,Typescript,Visual Studio 2017,在我的Typescript中,我正在使用导入功能,如下所述: 所以我的代码是: import("../myScriptToBeImported").then((module) => { this.dosomethingWithModule(module); }).catch(this.doSomethingWithError.bind(this)); 我在VisualStudio中使用Webpack作为MVC项目的一部分运行此程

在我的Typescript中,我正在使用导入功能,如下所述:

所以我的代码是:

 import("../myScriptToBeImported").then((module) => {
                this.dosomethingWithModule(module);
            }).catch(this.doSomethingWithError.bind(this));
我在VisualStudio中使用Webpack作为MVC项目的一部分运行此程序。Webpack编译Typescript时没有任何错误,项目运行正常,但对于上面这行,Visual Studio中始终显示以下错误:

  • 应为TS1128(TS)声明或语句
  • TS2391(TS)功能 缺少实现或未立即在 声明
  • TS7010(TS)“导入”,缺少返回类型 注释,隐式具有“any”返回类型
我使用的是Typescript版本2.4.2。我怎样才能消除这些错误

有关信息,我的tsconfig文件如下所示:

{
  "compilerOptions": {
    "module": "esnext",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "strict": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [ "es6", "dom" ],
    "baseUrl": ".",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ],
  "compileOnSave": false,
  "buildOnSave": false
}

函数样式
import
还不是JS模块规范的一部分。您需要在
tsconfig.json
中将
module
设置为
“esnext”
,才能使用它


如果您已经这样做了,问题可能出在Visual Studio上-确保您的项目配置为使用正确版本的TypeScript编译器。

Hi Joe,模块在tsconfig.json文件中已设置为“esnext”。我已经编辑了这个问题,所以你可以看到整个tsconfig文件。嗯,奇怪!这让我觉得a)VS没有拾取
tsconfig.json
文件,或者b)VS使用了不同版本的TypeScript编译器。Aha-在项目属性的TypeScript Build选项卡上,TypeScript版本设置为2.3,所以我将其更改为“最新的TypeScript版本”。直到我重新启动VisualStudio,然后错误在构建时消失,这才有任何区别。如果你加上你的答案,我会标记为正确。哦,见鬼,错误又回来了。不知道为什么-我以前做了一个完整的构建,但它们没有显示出来,但现在它们又出现了!还有其他想法吗?嗯,恐怕不太确定):也许值得在打字脚本GitHub上使用。