Перекрестная зависимость библиотек Angular7 - PullRequest
0 голосов
/ 18 февраля 2019

Я ищу помощь с библиотеками Angular7.

У меня есть проект A , в котором я разработал две библиотеки - library 1 и library 2 .Вторая библиотека ( библиотека 2 ) зависит от первой библиотеки ( библиотека 1 ).Позже, в другом проекте, скажем, проект B Я могу использовать library 2 .

Моя проблема с указанием, что library 2 имеетзависимость от библиотеки 1 .В настоящее время две библиотеки встроены в папку libs / в корне проекта, что позволяет library 2 import from library 1 работать с указанием и без указаниячто он имеет зависимость от библиотеки 1 в своем файле package.json .

библиотека 1 package.json

{
  "name": "library-1",
  "version": "0.0.1",
  "peerDependencies": {
    "@angular/common": "^7.1.0",
    "@angular/core": "^7.1.0"
  }
}

Библиотека 2 package.json

{
  "name": "library-2",
  "version": "0.0.1",
  "peerDependencies": {
    "@angular/common": "^7.1.0",
    "@angular/core": "^7.1.0",
    "@angular/material": "7.2.0",
    "library-1": "0.0.1"
  }
}

Кроме того, их расположение сборки + dev указано в основном файле tsconfig.json:

{
  ...,
  "compilerOptions": {
    ...,
    "paths": {
      "library-1": ["libs/library-1", "projects/library-1/src/"],
      "library-1/*": ["libs/library-1/*", "projects/library-1/src/*"],
      "library-2": ["libs/library-2", "projects/library-2/src/"],
      "library-2/*": ["libs/library-2/*", "projects/library-2/src/*"]
    }
  }
}

Isесть ли способ сделать это явно, что вторая библиотека не компилируется, если первая не установлена?

1 Ответ

0 голосов
/ 18 февраля 2019

Да, вы можете указать первый проект как зависимость от второго проекта package.json file:

"dependencies": {
    "Local first project": "file:../myprojectfolder/myprojectpackagefolder"
    "Git First project": "git+ssh://git@gitlab.mydomain:first-project.git" 
}
...