623 votes

Différence entre Grunt, NGP et Bower (package.json vs bower.json)

Je suis nouveau à l'aide de mnp et de verdure, la construction de ma première application en emberjs :).
J'ai un peu d'expérience avec les rails, donc je suis familier avec l'idée de fichiers pour l'inscription de dépendances (tels que bundler Gemfile)

Question: lorsque je veux ajouter un paquet (et de vérifier dans la dépendance dans le dépôt git), où il appartient - en package.json ou en bower.json?

De ce que je comprends,
l'exécution bower install va chercher le paquet et le mettre dans /vendor annuaire,
l'exécution npm install il va le chercher et de le mettre en /node_modules répertoire.

Ceci AFIN de répondre à dit bower est pour le front-end et mnp est pour backend choses.
Braise-app-kit semble adhérer à cette distinction dès le premier regard... Mais les instructions dans gruntfile pour l' activation de certaines fonctionnalités donner deux commandements explicites, donc je suis totalement confus ici.

Intuitivement, je dirais que l'

  1. npm install --save-dev nom-du-paquet serait l'équivalent de l'ajout du nom-du-paquet à mon colis.json

  2. bower install --enregistrer le nom-du-paquet pourrait être le même que l'ajout d'un paquet à mon bower.json et en cours d'exécution bower install?

Si c'est le cas, faudrait-il que j'ai jamais installer les paquets explicitement comme ça sans les ajouter dans le fichier qui gère les dépendances (à l'exception de l'installation des outils de ligne de commande à l'échelle mondiale)?

581voto

blunderboy Points 5137

Mnp et Bower sont à la fois la dépendance des outils de gestion. Mais la principale différence entre les deux est mnp est utilisé pour l'installation de Node js modules, mais bower js est utilisé pour la gestion de la fin de devant de composants comme le html,css,js, etc.

Le fait que npm fournit des paquets qui peuvent être utilisés dans le front-end comme grunt, jshint.

Ces lignes ajouter plus de sens

Bower, à la différence de la ngp, peuvent avoir plusieurs fichiers (par exemple .js, .css, .html, .png, .ttf), qui sont considérés comme le principal fichier(s). Bower sémantiquement considère que ces fichiers principaux, lorsqu'ils sont emballés ensemble, un composant.

Lire cet article pour plus d'explication détaillée

Edit: Grunt est tout à fait différente de la Ngp et de Verdure. Grunt est un javascript task runner outil. Vous pouvez faire beaucoup de choses à l'aide de grognement qui vous avez eu à le faire manuellement autrement. Mettant en évidence certaines des utilisations de Grunt:

  1. La compression de certains fichiers (par exemple, zipup plugin)
  2. Peluchage sur fichiers js (jshint)
  3. La compilation de moins de fichiers (grunt-contrib-moins)

Il y a des plugins grunt pour sass compilation, uglifying votre javascript, de copier des fichiers/dossiers, minifying javascript etc.

Veuillez Noter grunt plugin est aussi un mécanisme national de prévention de package.

Question-1

Quand je veux ajouter un paquet (et de vérifier dans la dépendance dans le dépôt git), où il appartient - dans le package.json ou dans la charmille.json

Ça dépend vraiment d'où vient ce paquet appartient. Si c'est un noeud module(comme grunt,demande) alors il ira dans le paquet.json sinon dans la charmille json.

Question-2

Quand devrais-je jamais installer les paquets explicitement comme ça sans les ajouter dans le fichier qui gère les dépendances

Il n'a pas d'importance si vous êtes l'installation de paquets ou explicitement mentionner la dépendance .fichier json. Supposons que vous êtes au milieu du nœud de projet et vous avez besoin d'un autre projet de dire request, vous avez deux options:

  • Modifier le package.fichier json et ajouter la dépendance
  • npm install

OU

  • Utilisation en ligne de commande: npm install --save request

--save options ajoute la dépendance de paquet.fichier json. Si vous ne spécifiez --save option, il suffira de télécharger le package mais fichier json ne sera pas affectée.

Vous pouvez le faire de toute façon, il n'y aura pas une grande différence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X