Как опубликовать угловую библиотеку в bitbucket

Я создал библиотеку Angular, запустив:

ng new my-library-lib
cd my-library-lib
ng generate library my-library

Это создает приложение Angular и внутри него папку под названием "проекты" с кодом библиотеки:

Код приложения:

- projects
-- my-library
--- src
---- lib
----- <code of the library (components, services)>
---- public_api.ts
--- <config files (ng-package.json, package.json, ...)>
- src
-- <code of the container application>

Итак, имея такую ​​структуру, я не знаю, как опубликовать библиотеку в Bitbucket, чтобы ее использовали другие приложения таким образом:

package.json:

"my-library": "git+https://bitbucket/.../.../my-library.git#v0.0.1"

Я следовал руководству по созданию библиотеки и могу использовать ее в приложении-контейнере. Также мне удалось использовать его в других приложениях, установив созданный .tgz:

"build_lib": "ng build my-library",
"npm_pack_lib": "cd dist/my-library && npm pack",
"package_lib": "npm run build_lib && npm run npm_pack_lib"

Последний шаг - опубликовать его и пометить для использования.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
3
0
808
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для публикации библиотеки есть много вещей, о которых нужно позаботиться, к счастью, есть инструмент ng-packagr, который действительно упрощает нашу жизнь, ng-packagr - это библиотека узлов, которая может скомпилировать и упаковать библиотеку TypeScript в формат пакета Angular.

https://www.npmjs.com/package/ng-packagr

Поправьте меня, если я ошибаюсь, но я считаю, что ng build my-library делает то же самое. Папка dist у меня уже создана

Alavaros 17.12.2018 10:00

Извините, я не знал, что я использую nrwl (nrwl.io) для создания моих проектов angular, после завершения сборки мы переходим в каталог dist и делаем npm pack, создается zip-файл, который можно опубликовать / использовать в других проекты.

Akshay Rajput 17.12.2018 10:09

Должен ли я публиковать папку dist как проект в другом репозитории?

Alavaros 17.12.2018 11:27

вы можете создать новую библиотеку папок, вставить в нее свой zip-файл, предполагая, что его имя XYZ, выполните npm i ./library/XYZ из корня, он обновит package.json,

Akshay Rajput 17.12.2018 11:30

Вы хотите создать новое репо только с zip-файлом? Чего я хочу достичь, чего я не знаю, смогу ли я, - это загрузить код в репозиторий в Bitbucket, пометить его и импортировать в любое другое приложение, как я указал в описании, указав на репозиторий и тег

Alavaros 17.12.2018 15:12

либо вы можете скопировать этот zip-файл внутри нового проекта в новую папку ниже src и npm i (путь), иначе вы можете опубликовать пакет на npmjs.com и использовать его без необходимости выполнять весь этот процесс вручную для всех проектов , чтобы опубликовать пакет на npm, обратитесь к статье hackernoon.com/publish-your-own-npm-package-946b19df577e

Akshay Rajput 18.12.2018 05:19

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