web-dev-qa-db-ja.com

Angular TypeScript-excludeがtsconfig.jsonで機能していません

現在、Angular 4プロジェクトをコンパイルしているときに、node_modules内のモジュールの1つで問題が発生し、以下のようなエラーが発生するため、tsconfig.jsonでこのプロジェクトを除外することにしましたが、それでも私はエラーが発生しています、誰かがここで私を助けてくれますか

ERROR in D:/workspace/demo/node_modules/@types/d3-collection/index.d.ts (148,23): ',' expected.

ERROR in D:/workspace/demo/node_modules/@types/d3-collection/index.d.ts (483,40): ',' expected.

ERROR in D:/workspace/demo/node_modules/@types/d3-collection/index.d.ts (148,25): Type parameter name cannot be 'any'

したがって、これらのエラーを回避するためにnode_modulesを除外することにしましたが、それでもnpm startを実行すると同じエラーが発生します。

tsconfig.json

{
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "es6",
      "dom"
    ],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ]
  },
  "exclude": [
    "**/node_modules/*"
  ]
}
6
Ron

skipLibCheckを追加する必要があります。これにより、すべての宣言ファイル(* .d.ts)の型チェックがスキップされます。

https://www.typescriptlang.org/docs/handbook/compiler-options.html

{
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "es6",
      "dom"
    ],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "skipLibCheck": true,
    "types": ["d3-collection"]
  },
  "exclude": [
    "node_modules"
  ]
}
16
John Velasquez