Поэтому в последнее время я экспериментировал с Angular и его функциями. Одной из них является функция CompileOnSave
в tsconfig.json
со следующими настройками:
"outDir": "./dist/out-tsc",
"watch": true,
Все это работает, однако я вижу различное поведение между добавлением новых файлов и изменением существующих файлов. В обоих случаях модификации файлов компилируются в папку ./dist/out-tsc
. Все хорошо. Однако при добавлении нового файла компилятор также создает файл .js и соответствующий ему файл карты в той же папке. Это смущает. Это по дизайну? И нужно ли их удалять вручную или это можно автоматизировать? Мой вопрос похож на
Как заставить компилятор Typescript выводить скомпилированный js в другой каталог?
однако у меня уже настроено свойство outDir
. Я использую Visual Studio 2019. Посмотрите на скриншот ниже из части каталога проекта. api.component.ts
— это существующий файл, изменения которого компилируются в каталог ./dist/out-tsc
. file.ts
, file1.ts
и file2.ts
— это новые файлы, которые, кажется, скомпилированы в папку, в которой они созданы, а также в папку ./dist-out-tsc
. Моя версия Angular — 8.3.14.
Мой tsconfig.json выглядит так:
{
"compileOnSave": true,
"compilerOptions": {
"baseUrl": "./",
"module": "esnext",
"outDir": "./dist/out-tsc",
"watch": true,
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}