Как импортировать библиотеку angular 6 в другую библиотеку angular 6?

Я создал общую библиотеку и создал новую библиотеку функций приложения, и я хочу импортировать общую библиотеку в библиотеку функций приложения.

Как я могу импортировать или включить одну библиотеку в другую библиотеку?

1 ответ

Лучший способ - использовать вашу общую библиотеку в качестве зависимости узла в вашей библиотеке приложения.

Пример: если вы создали свою общую библиотеку с помощью команды npm следующим образом:

ng generate library sharedlib

Затем создайте свою общую библиотеку и опубликуйте в любом общедоступном (npmjs) или частном (ваша организация, например, JFrog) артефакте с помощью следующей команды

npm publish sharedlib 

И используйте его как зависимость (добавьте в package.json) в своей библиотеке приложения как

"peerDependencies": {
    "@angular/common": "^7.2.0",
    "@angular/core": "^7.2.0",
    "sharedlib": "1.0.0"
}

Я считаю, что импорт модуля общей библиотеки (из файла public-api.ts) в библиотеку приложения (если оба в одном репозитории) также может работать, но это не лучший способ сделать это.

Вы должны добавить любую библиотеку, которую вы используете как peerDependencies, в package.json вашей библиотеки. Что-то вроде этого:

"peerDependencies": {
    "@angular/common": "^6.0.0-rc.0 || ^6.0.0",
    "@angular/core": "^6.0.0-rc.0 || ^6.0.0",
    "@angular/forms": "^6.0.0",
    "@angular/material": "^6.4.7"
}

Предполагая, что вы создали библиотеку, используя ng generate library my-libraryузел peerDependencies уже существует.

Это позволит избежать любого конфликта, если пользователь вашей библиотеки также использует другие.

Другие вопросы по тегам