Angular5:polyfills.ts& TypeScript编译中缺少\ main.ts

时间:2018-03-04 04:23:45

标签: angular typescript webpack angular-cli package.json

这是我的Angular5项目结构。

enter image description here

tsconfig.app.jsonpackage.json都包含此部分

 "include": [
      "/src/main.ts",
      "/src/polyfills.ts"
    ]

但无论我尝试什么,我仍然会收到此错误:

    \polyfills.ts & \main.ts is missing from the TypeScript compilation. 
Please make sure it is in your tsconfig via the 'files' or 'include' property.

enter image description here 任何人都知道这里缺少什么?

  tsconfig.json
        {
          "compileOnSave": false,
          "compilerOptions": {
            "outDir": "./dist/out-tsc",
            "sourceMap": true,
            "declaration": false,
            "moduleResolution": "node",
            "emitDecoratorMetadata": true,
            "experimentalDecorators": true,
            "target": "es5",
            "typeRoots": [
              "node_modules/@types"
            ],
            "lib": [
              "es2017",
              "dom"
            ]
          }
        }
src/tsconfig.app.json
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": []
  },
  "include": [
    "main.ts",
    "polyfills.ts"
  ],
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

4 个答案:

答案 0 :(得分:11)

找到了解决方案。问题是因为我在符号链接目录中($ HOME / dev-> d:\ dev \) 移至原始目录(d:\ dev)并运行您的命令,它便可以正常工作。

来源:https://github.com/angular/angular-cli/issues/9909

答案 1 :(得分:0)

可能是因为您使用的是绝对路径。

尝试更改:

"/src/main.ts",

"src/main.ts",

(或者可能只是"main.ts"

答案 2 :(得分:0)

我也经历了一段时间这个问题,我只是改变了项目的位置就解决了。我将其放入系统以外的磁盘中(例如:d:,e:...)

答案 3 :(得分:0)

编辑 angular.json 以在节点projects/project/architect/build/options下添加以下属性应该有助于使"preserveSymlinks": true正常工作。