Ошибка компиляции - не удается найти имя «Карта» и многое другое – Angular 2

У меня проблемы с моим проектом Angular. Он был разработан без Angular CLI, и теперь я получаю эти ошибки, поскольку, похоже, он не может найти классы внутри collection.d.ts:

Build:Cannot find name 'Map'.
Build:Cannot find name 'MapConstructor'.

и так далее. Мой tsconfig.json выглядит следующим образом:

{
"compilerOptions": {
    "target": "es2015",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "outDir": "build/",
    "skipLibCheck": true,
    "lib": [ "es6","dom" ]
},
"compileOnSave": true]
}

Я уже искал в Интернете решение, нацеленное на es6, es5 или добавляющее другие атрибуты lib. Решения? Спасибо


person Michele Sapignoli    schedule 04.04.2018    source источник
comment
Не могли бы вы предоставить всю трассировку стека, пожалуйста? возможно, проблема не связана конкретно с этим tsconfig. Тем не менее, звучит довольно похоже на это: итератор"> stackoverflow.com/questions/35660498/   -  person briosheje    schedule 04.04.2018
comment
В моем случае оператор карты был оператором rxjs, и с RxJS 6 мне пришлось импортировать его вручную с помощью: import {map} from 'rxjs/operators';   -  person Hazlo8    schedule 02.03.2020


Ответы (1)


Попробуйте эту комбинацию: "target": "es5", "lib": ["es5", "es6", "es7", "DOM"],

Если это не сработает, попробуйте npm install --save-dev @types/core-js.

Какую версию Angular и CLI вы используете?

person DrNio    schedule 04.04.2018
comment
Оказалось, что это проблема как с reactivex, так и с типами/core-js. - person Michele Sapignoli; 05.04.2018