Ошибка TS2304: не удается найти имя «X» в файлах app.components.ts и main.ts проекта angular 4.

новичок в машинописи. Используя neovim, ubuntu 16.04 и различные плагины vim typescript tsuquyomi, leafgarland/typescript-vim, mhartington/nvim-typescript, я уверен, что настроил их правильно.

Я успешно установил @angular/cli и пытаюсь пройти обучение, но у меня возникает ошибка, которую я не понимаю.

`1 .._modules/@angular/core/src/change_detection/differs/default_iterable_differ.d.ts|| TS2304: Cannot find name 'Iterable'. 
   2 ../node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts|| TS2304: Cannot find name 'Map'.
   3 ../node_modules/@angular/core/src/change_detection/differs/default_keyvalue_differ.d.ts|| TS2304: Cannot find name 'Map'.
   4 ../node_modules/@angular/core/src/change_detection/differs/iterable_differs.d.ts|| TS2304: Cannot find name 'Iterable'.
   5 damn/node_modules/@angular/core/src/change_detection/differs/keyvalue_differs.d.ts|| TS2304: Cannot find name 'Map'.
   6 ..//node_modules/@angular/core/src/di/reflective_provider.d.ts|| TS2304: Cannot find name 'Map'.
   7 ../node_modules/@angular/core/src/di/reflective_provider.d.ts|| TS2304: Cannot find name 'Map'.
   8 ../node_modules/rxjs/Observable.d.ts|| TS2693: 'Promise' only refers to a type, but is being used as a value here.`

Я пробовал все, что я думаю, от

пробуя следующее свойство tsconfig filesGlob:

"filesGlob": [ "main.ts", "typings.d.ts", "app/**/*.ts", "!app/**/*.spec.ts" ],

к установке angular/core-js и @types/core-js и типизации

npm install --save-dev @types/core-js
npm install @types/node --save 

Отредактированный файл tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "types": ["node"],
    "typeRoots": [
      "node_modules/@types"
    ],
    "files": [
  "main.ts",
  "typings.d.ts"
],
"filesGlob": [
  "main.ts",
  "typings.d.ts",
  "app/**/*.ts"  
],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}

Я также отредактировал файл tsconfig.app.json.

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": [],
    "typeRoots": [
"../node_modules/@types/"
    ]
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

Тем не менее, ошибки все еще есть в моем файле app.components.ts и main.ts, несмотря на все эти изменения.


person Y. Leonce Eyog    schedule 20.07.2017    source источник


Ответы (2)


Добавьте "skipLibCheck": true к "compilerOptions" в свой tsconfig.json

person RKG    schedule 20.07.2017
comment
Не вносит никаких изменений. - person Y. Leonce Eyog; 21.07.2017

Я включил следующую строку в начало вышеупомянутых файлов, и проблема, похоже, решена.

///<reference path="../../node_modules/typescript/lib/lib.es6.d.ts"/>

Меня беспокоит тот факт, что он устанавливает для библиотеки значение es6, и я не понимаю, что на самом деле вызывает мою проблему. Любые подсказки будут с радостью оценены.

person Y. Leonce Eyog    schedule 16.01.2018