2016-10-18 8 views
7

Załóżmy, że masz dwie różne aplikacje Angular 2 i oba muszą korzystać z tego samego komponentu.Ponownie użyć modułu Angular 2 w innej aplikacji bez publikowania na npm?

Stworzyłem wspólny komponent, utworzyłem bibliotekę po tym tutorialu http://blog.angular-university.io/how-to-create-an-angular-2-library-and-how-to-consume-it-jspm-vs-webpack/, ale npm sprawi, że mój kod będzie publiczny i będę musiał zapłacić, aby uczynić go prywatnym.

Pytania są następujące: 1. W jaki sposób mogę utworzyć komponenty, które mogą być dostępne dla zespołu roboczego? 2. Czy należy opublikować na adres npm, czy mogę po prostu przekazać mój kod do prywatnego repozytorium github? A jeśli tak, jak mam to zrobić i jaki byłby proces ponownego użycia kodu w aplikacji?

Z góry dziękuję.

+3

Możliwy duplikat [Jak korzystać z prywatnych repo GitHub jako zależność npm] (http://stackoverflow.com/questions/28728665/how-to-use-private-github-repo-as-npm-dependency) –

+1

Nie sądzę, że @Alina pyta, jak używać prywatnego repo jako zależności, ale jak projekt powinien być ustrukturyzowany i utrzymywany, aby służył jako moduł wielokrotnego użytku w innym kancie projekty. – Damon

+0

Uzgodniono z @Damon. Dostałem się tutaj, ponieważ szukałem sposobu na stworzenie modułu wielokrotnego użytku. Brak prywatnego konta github/npm i jedno z rozwiązań takich jak "ustawienie własnego wewnętrznego repozytorium npm" wydaje się ... nie idealne. Na razie kopiuję strukturę aplikacji projektu ng-bootstrap, ale proces ponownego jej wykorzystania w różnych aplikacjach wydaje się niejasny. – BLSully

Odpowiedz

0

pakiet.json pozwala na odwołanie się do pakietów pobranych z repozytorium git, a może to być ten, którego używasz wewnętrznie. Zobacz NPM documentation

Przykład formatach:

git+ssh://[email protected]:npm/npm.git#v1.0.27 
git+ssh://[email protected]:npm/npm#semver:^5.0 
git+https://[email protected]/npm/npm.git 
git://github.com/npm/npm.git#v1.0.27 

Więc to byłoby w package.json dać coś takiego:

"dependencies": { 
    "privatepackage":"git://localgitserver/git/privatepackage.git" 
} 
Powiązane problemy