@ThinDrew

Можно ли использовать разные node_modules в проекте для backend и frontend на TypeScript в VS Code?

Структура проекта, в моём представлении, должна выглядеть примерно так:

- 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"]
  }

Сервис успешно билдится, но при запуске уже говорит, что не видит модуль.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
ilnuribat
@ilnuribat
типо пишу программы
Проще разнести frontend и backend в разные директории, как это уже сделано, и в корне проекта убрать package.json.
сами проекты собирать переходя в нужные директории, как будто это две разные репозитории
в целом, проще не смешивать их, ведь случаи когда фронтендер что-то коммитит в бекенд или наоборот довольно редки, и даже если будет коммит, то бекендеру проще это отследить и понимать что происходило в git log
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы