Angulaire de la CLI 6: Où mettre les dépendances de la bibliothèque
Je suis la conversion d'une bibliothèque (ng-app-état) pour utiliser l'angle de la cli, maintenant que v6 soutient les bibliothèques (yay!).
Après l'échafaudage et de la copie du code, voici ma première question:
Comment/où puis-je ajouter de la 3e partie des dépendances?
À package.json
, ou à projects/ng-app-state/package.json
?
OriginalL'auteur Eric Simonton | 2018-05-05
Vous devez vous connecter pour publier un commentaire.
S'avère que la réponse est du genre "les deux". La compréhension de la réponse vient de ceci:
package.json
est ce qui va être utilisé lors du développement. Vous avez fait installer tous vos bibliothèques ici pour votre propre usage, y compris ceux que les utilisateurs auront également besoin. Vous ne devriez avoir qu'unnode_modules/
répertoire à la racine de votre projet, et non pas au sein de la bibliothèque du répertoire (uniquement exécuternpm install
et similaire ici).projects/ng-app-state/package.json
est ce qui va être déployé à mnp (avec quelques champs supplémentaires ajoutés par le processus de construction). Pour copier dans ledependencies
et/oupeerDependencies
que les utilisateurs de votre bibliothèque de besoin. Il n'y a rien de mettredevDependencies
ici.Qui est la réponse complète. Lisez la suite pour voir un exemple.
Dans mon cas
package.json
a une longue liste de nombreusesdependencies
etdevDependencies
(vous pouvez le voir ici), mais tout cela n'influence que moi (et tous ceux qui veulent contribuer àng-app-state
).projects/ng-app-state/package.json
est beaucoup plus petit, et c'est ce qui affecte les utilisateurs de ma bibliothèque:Après l'exécution de
ng build np-app-state --prod
à générer ce sera publié à la ngp, c'est ce qui finit dansdist/ng-app-state/
(qui est ce qui devrait être publié):node_modules
), et je vais copier la ligne"materialize-css": "^1.0.0"
de projets/projet-nom/paquet.json souspeerDependencies
?Si elle doit être un des pairs de la dépendance pour vos utilisateurs, alors oui, exactement.
Si je suis en utilisant bootstrap scss mixin et tous dans la bibliothèque , comment puis-je bootstrap à la bibliothèque?
Clair comme de l'mudd. Où est la documentation pour précisément ce qui se passe dans le module bibliothèque.json?
Mais ensuite, après l'ajout de la par les pairs des dépendances dans le sous-projet, la façon de construire le sous-projet ? J'ai ce problème de la construction qu'il stackoverflow.com/questions/56278286/...
OriginalL'auteur Eric Simonton
Il doit être ajouté dans
package.json
commepeerDependencies
peerDependencies
ne sont pas installées automatiquement par npm, ne serait-ce pas dire que j'aurais du installer manuellement le module de dépendances dans mon application après l'importation du module à partir de la NGP?oui, vous devez. C'est exactement ce que lib du
peerDependencies
points - s'il vous plaît installer les dépendances suivantes afin d'utiliser la bibliothèque.Bon, j'ai installé la dépendance comme: npm install lodash, alors comment faire pour importer ce fichier temporaire(composant)?
OriginalL'auteur Lal
La 3ème partie des dépendances doivent être placés dans
dependencies
deprojects/ng-app-state/package.json
Toutefois, si la 3ème partie des dépendances également en charge ng 6, alors vous avez une question différente, et plus de complexité au-delà de la portée de cette question. Je vais le dire brièvement que vous pouvez avoir à faire appel ng mise à jour sur leurs bibliothèques ou de développer des schémas qui leur appel, qui attendent de leurs ng 6 de la version de bibliothèque.
OriginalL'auteur bhantol