构建:'('预期在* .d.ts文件中。无法编译TypeScript项目

时间:2016-08-07 11:47:43

标签: typescript angular

我正在尝试在Visual Studio 2015中构建我的Angular 2 TypeScript asp.net核心项目,但我看到的是:

  

严重级代码描述项目文件行抑制状态   错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ core \ esm \ src \ linker \ query_list.d.ts 36
  错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ compiler \ esm \ src \ output \ output_interpreter.d.ts 7
  错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ compiler \ esm \ src \ output \ output_interpreter.d.ts 8
  错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ compiler \ esm \ src \ output \ output_interpreter.d.ts 9
  错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ common \ esm \ src \ forms-deprecated \ model.d.ts 53
  错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ common \ esm \ src \ forms-deprecated \ model.d.ts 98
  错误TS1005构建:'('   预期。 MExplore C:\ Users \ Piotrek \ documents \ visual studio   2015 \ Projects \ MProjects \ MExplore \ wwwroot \ lib \ @angular \ common \ esm \ src \ forms-deprecated \ model.d.ts 52

依旧......

因此,这些3743错误的基本模式是:

  

构建:'[某事物]'预期。

问题发生的文件始终以*.d.ts结尾。

我认为这是打字的问题,但我的bootstraper中有适当的引用(main.ts文件)

///<reference path="./../../typings/globals/core-js/index.d.ts"/>

和里面的那些引用:

/// <reference path="globals/core-js/index.d.ts" />
/// <reference path="globals/jasmine/index.d.ts" />
/// <reference path="globals/node/index.d.ts" />

之前我曾多次使用过它并且有效......

我还使用gulp('gulp-typescript')将typescript编译为javascript并将其复制到其他地方。它运行良好,没有显示错误。所以也许我的代码本身没有问题,而是我在Visual Studio中错误配置了什么?

您怎么看?

2 个答案:

答案 0 :(得分:1)

应从编译中排除

According to this GitHub issue*.d.ts个文件。所以,基本上,你应该在tsconfig.json文件中做什么:

{
  [...]
  [some stuff]
  [...]
  "exclude": [
    "folder_where_you_have_those_faulty_files"
  ]
}

Comment 1:

  

你应该从tsc building中排除一些文件夹到* avoid *来编译.d.ts文件。

Comment 2:

  

关键点是不编译* .d.ts,无论你使用哪种打字稿版本。在您的项目中,您应该排除所有* .d.ts编译以解决此问题。

谢谢你,@ danny8002!

答案 1 :(得分:0)

仅在构建Visual Studio时,才出现此错误TS110 Build Typescript预期的core.d.ts。在Visual Studio构建时,它使用tsc -w。这将导致它构建目录下的所有文件* .ts,并且无法区分* .d.ts和* .ts,因此将尝试对其进行编译。 * .d.ts文件是类型定义文件,无法编译。因此,您只需要告诉ts忽略node_modules文件夹即可。

您可以通过在tsconfig.json中添加以下“ exclude”:[[“ node_modules”,“ typings”] 来实现。您应该始终忽略这两个文件夹。

{
    "compilerOptions": {
        "module": "system",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "outFile": "../../built/local/tsc.js",
        "sourceMap": true
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules","typings"
      ]
}