Я начал изучать 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.
Проект Angular CLI с Webstorm. Файл машинописного текста в javascript - с помощью командной строки в webstorm, используя команду: "tsc filename.tsc".
Возможный дубликат Angular: не удается найти обещание, карту, набор и итератор
Я связал вас с другим вопросом, который может дать вам ответ. Похоже, есть несколько способов решить проблему, и выбор метода зависит от конкретной среды.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ваш обновленный 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 перед добавлением этого файла на веб-сайт?
Боюсь, я не знаком с WebStorm. Я знаю только, как собрать TypeScript из командной строки.
Какие шаги вы используете для компиляции? Вы компилируете, например, из Web Storm или из командной строки?