У меня есть проект, из которого мне нужно построить два разных продукта. Скажем, у меня есть
./src/advanced
./src/basic
Весь код написан в Typescript, поэтому мне нужно скомпилировать его с tsc
Из-за этого я создал 3 tsconfig files
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 , он работает как положено
В любом случае, похоже, что расширение здесь не работает или работает иначе, чем я ожидаю. Любое предложение, как улучшить мои настройки?