Я создал библиотеку angular 6, используя ng generate library my-lib
, и теперь мне нужно ее опубликовать, однако она не может перейти в NPM, поскольку это частный код.
В моей компании у нас есть частный gitсервер и мне нужно опубликовать там, у нас уже есть несколько библиотек NPM Node.js, опубликованных там, но публикация Angular доставляет нам проблемы.
Мне удалось собрать библиотеку с ng build my-lib
, а затем cd dist/my-lib
и упаковав его в npm pack
, я получаю связанную библиотеку .tgz
, которую можно установить непосредственно в другой проект.
Однако это не очень хорошее решение для распространения контролируемых версий.
Итак, после некоторых исследований я нашел лучшего кандидата, который пока использует git subtree
, для размещенияdist/my-lib
в другое хранилище, затем его можно легко установить в другой проект с помощью npm install git+ssh://git@server:/git/my-lib-dist.git
На основе этого руководства Совместное использование библиотеки Angular 6 между несколькими приложениями
Итак, я создал вторичное хранилище,и затем с помощью: git subtree add --prefix dist/my-lib MY-REMOTE master
и нажмите изменения с помощью: git subtree push --prefix dist/my-lib MY-REMOTE master
Это работает нормально, но есть проблема, мне пришлось удалить папку /dist
из моего .gitignore
для того, чтобы он работал, и теперь git отслеживает изменения встроенной библиотеки, и мне нужно зафиксировать и перенести ее в репозиторий, и встроенные библиотеки довольно тяжелые.
Как я могу это сделатьпапка dist/my-lib
отправлена в репозиторий dist и не отслежена или не отправлена в исходное хранилище?
Это лучший подход к моему вопросу или есть лучшая альтернатива.