Как опубликовать библиотеку angular в битбакете

Я создал библиотеку 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"

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


person Alavaros    schedule 17.12.2018    source источник


Ответы (1)


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

https://www.npmjs.com/package/ng-packagr
person Akshay Rajput    schedule 17.12.2018
comment
Поправьте меня, если я ошибаюсь, но я считаю, что ng build my-library делает то же самое. У меня уже создана папка dist - person Alavaros; 17.12.2018
comment
Извините, я не знал, что использую nrwl(nrwl.io) для создания своих угловых проектов, после завершения сборки мы переходим в каталог dist и делаем npm pack, создается zip-файл, который можно публиковать/использовать в других проекты. - person Akshay Rajput; 17.12.2018
comment
Должен ли я опубликовать папку dist как проект в другом репозитории? - person Alavaros; 17.12.2018
comment
вы можете создать новую библиотеку папок, вставить в нее свой zip-файл, предполагая, что его имя XYZ, сделать npm i ./library/XYZ из корня, он обновит package.json, - person Akshay Rajput; 17.12.2018
comment
Вы хотите создать новое репо только с zip-файлом? Чего я хочу добиться, чего я не знаю, смогу ли я, так это загрузить код в репозиторий в Bitbucket, пометить его и импортировать в любое другое приложение, как я указал в описании, указав на репозиторий и ярлык - person Alavaros; 17.12.2018
comment
либо вы можете скопировать этот zip-файл внутри нового проекта в новую папку ниже src и npm i (путь), либо вы можете опубликовать пакет на npmjs.com и использовать его без необходимости выполнять весь этот процесс вручную для всех проектов. , чтобы опубликовать пакет на npm, обратитесь к этой статье hackernoon.com/publish-your- собственный-npm-пакет-946b19df577e - person Akshay Rajput; 18.12.2018