Структура проекта, в моём представлении, должна выглядеть примерно так:
- Services
-- Backend
--- node_modules
--- Service_1
--- Service_2
-- Frontend
--- node_modules
--- App_1
Структуру я повторил, но сервисы не видят своих модулей. Не понимаю, возможно, как настроить package.json или tsconfig.json у проектов.
Корневой package.json:
{
"name": "monorepo",
"version": "1.0.0",
"private": true,
"workspaces": [
"backend",
"frontend"
],
"devDependencies": {
"typescript": "^4.0.0"
}
}
package.json в папке Backend:
{
"name": "backend",
"private": true,
"workspaces": [
"./Service1",
"./Service2",
"./Service3"
],
"scripts": {
"build:Service1": "tsc -b Service1",
"build:Service2": "tsc -b Service2",
"build:Service3": "tsc -b Service3"
},
"dependencies": {
"typescript": "^4.5.0"
}
}
tsconfig.config одного из сервисов:
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"lib": ["es2015","dom"],
"moduleResolution": "node",
"sourceMap": true,
"outDir": "../../../dist/BackEnd/Service1",
"baseUrl": ".", // Где сам проект находится
"paths": {
"*": ["../node_modules/*", "src/types/*"]
},
},
"include": ["src/**/*"],
"exclude": ["../node_modules"]
}
Сервис успешно билдится, но при запуске уже говорит, что не видит модуль.