У меня есть проект, из которого мне нужно построить два разных продукта. Скажи, что у меня есть
./src/advanced
./src/basic
Весь код написан на машинописном языке, поэтому мне нужно скомпилировать его с помощью tsc
Из-за этого я создал 3 файла tsconfig.
tsconfig-base.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./src",
"lib": ["es2018", "dom", "dom", "dom.iterable", "es6"],
"importHelpers": true,
},
"exclude": ["node_modules", "**/*.spec.ts","dist"]
Теперь, чтобы создать продукт basic
, который у меня есть
tsconfig-basic.json
{
"extends": "./tsconfig-base.json",
"compilerOptions": {
"noEmitHelpers": true
},
"files": [
"basic/main.ts"
]
}
И я компилирую следующим образом
$> tsc -p ./tsconfig-basic.json
Теперь у меня 2 проблемы
1) Файл basic/main.ts
не найден, он ищет в ./basic/main.ts
, а должен был быть ./src/basic/main.ts
. Почему baseUrl
не добавлено?
2) Если (1) исправлено, скомпилированные файлы не записываются в ./dist
. Почему здесь не используется "outDir": "./dist
из базового файла? Когда я добавляю outDir
в tsconfig-basic.json, он работает как положено
В любом случае, похоже, что расширение здесь не работает или работает не так, как я ожидаю. Любое предложение, как улучшить мою настройку?