Angular - не могу найти имя "Карта"

Я начал изучать Angular, но не могу решить проблему с преобразованием файла машинописного текста в javascript. Я создал проект AngularCLI и простой файл машинописного текста:

    class Example {
  msg = 'Some message';
}

и я попытался преобразовать его в js с помощью команды tsc: tsc example.tsc. Это файл javascript, который был сгенерирован:

var Example = /** @class */ (function () {
    function Example() {
        this.msg = 'Some message';
    }
    return Example;
}());

И у меня есть ошибки

node_modules/@types/selenium-webdriver/remote.d.ts:139:29 - error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later.

Я думаю (или даже уверен), что проблема в версии javascript (даже ошибка говорит об этом). Это файл tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "importHelpers": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ]
  }
}

Итак, я сделал то, что было предложено. Я изменил module, target, lib как минимум на es2015 ( все вместе и по отдельности) - не помогло. Я пробовал много решений от SO, форума jetbrain и т. д., Но у меня ничего не работало.

Использую версию webstorm 2018.3. Версия узла - 10.14.1. Версия Tsc - 3.1.6.

Какие шаги вы используете для компиляции? Вы компилируете, например, из Web Storm или из командной строки?

Shaun Luttin 01.12.2018 21:27

Проект Angular CLI с Webstorm. Файл машинописного текста в javascript - с помощью командной строки в webstorm, используя команду: "tsc filename.tsc".

Aisekai 01.12.2018 21:46

Возможный дубликат Angular: не удается найти обещание, карту, набор и итератор

Shaun Luttin 01.12.2018 22:18

Я связал вас с другим вопросом, который может дать вам ответ. Похоже, есть несколько способов решить проблему, и выбор метода зависит от конкретной среды.

Shaun Luttin 01.12.2018 22:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
1 928
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш обновленный tsconfig.json теперь выглядит хорошо, поскольку он нацелен на es2018. Теперь проблема в том, как вы компилируете. Когда я спросил, как вы компилируете, вы написали:

... with command line in webstorm using: "tsc filename.tsc" comand.

Когда мы передаем файлы компилятору, компилятор игнорирует наш tsconfig.json. официальная документация tsconfig.json говорит следующее:

When input files are specified on the command line, tsconfig.json files are ignored.

Если вы хотите передать определенные файлы в командную строку и выполнить компиляцию с определенными параметрами, передайте эти параметры (например, параметр lib) в командной строке.

tsc filename.ts --lib es2018

Спасибо, сработало. Есть ли способ сгенерировать файл .js из .ts внутри webstorm перед добавлением этого файла на веб-сайт?

Aisekai 01.12.2018 23:20

Боюсь, я не знаком с WebStorm. Я знаю только, как собрать TypeScript из командной строки.

Shaun Luttin 02.12.2018 01:03

Другие вопросы по теме