Je suis en train de retravailler mon système de construction, et j'ai lu que node.js avec grunt est une bonne solution. Je n'ai jamais utilisé non plus et j'ai quelques problèmes.
Le problème est que je veux configurer un environnement de construction portable que je peux inclure dans le contrôle de version de mon projet (peut-être que ce n'est pas possible). Faire fonctionner node.js et npm n’a posé aucun problème. Mais chaque instruction que je vois pour l’installation de grunt dit d’utiliser le drapeau -g
avec npm qui l’installe globalement. Puisque je veux un environnement totalement portable, j'ai essayé de laisser ça de côté, mais je ne peux pas me mettre au travail.
Est-ce que je manque quelque chose ou est-ce que ce que je tente de faire n'est pas réalisable?
Regardez http://gruntjs.com/getting-started
Grunt a récemment été divisé en une dépendance au niveau du projet (grunt
) et un lanceur de ligne de commande (grunt-cli
). C'est ce dernier qui devrait être installé globalement.
Pour vous assurer que vous pouvez emporter vos générations partout: enregistrez toutes les dépendances dans package.json
, en utilisant les paramètres --save
et --save-dev
lorsque vous utilisez npm install
. Plus d'infos: https://npmjs.org/doc/install.html
Vous pouvez utiliser le grunt local sans l'installation globale (-g) d'un grunt-cli en appelant:
node node_modules/grunt-cli/bin/grunt --version
Bien sûr, vous devez d'abord l'installer dans votre projet localement et disposer d'une version grunt supérieure à 0,3; par exemple:
npm install grunt-cli
npm install [email protected]
Ou ajoutez les deux à votre packages.json et appelez
npm install
Cela devrait également aider lorsque vous ne pouvez installer aucun paquet de manière globale, comme je l'ai décrit dans https://stackoverflow.com/a/39046355/2201879
Voir https://www.npmjs.com/package/grunt-cli#installing-grunt-cli-locally :
Installer grunt-cli localement
Si vous préférez que la méthode idiomatique Node.js commence avec un projet (npm install && npm test
), installez grunt-cli localement avec npm install grunt-cli --save-dev. Ajoutez ensuite un script à votre package.json pour exécuter la commande grunt associée: "scripts": { "test": "grunt test" }
. Maintenant, npm test utilisera l'exécutable ./node_modules/.bin/grunt
installé localement pour exécuter vos commandes Grunt.
Pour en savoir plus sur les scripts npm, veuillez consulter la documentation npm:
https://docs.npmjs.com/misc/scripts .
Voici le code de ligne de commande qui installera la dernière version de Grunt dans votre dossier de projet, en l'ajoutant à votre devDependencies:
npm install grunt --save-dev
La même chose peut être faite pour gruntplugins et autres modules de nœud. Comme dans l'exemple suivant, l'installation du module de tâche JSHint:
npm install grunt-contrib-jshint --save-dev
Consultez les gruntplugins disponibles à installer et à utiliser sur votre projet sur la page des plugins.
Assurez-vous de valider le fichier package.json mis à jour avec votre projet lorsque vous avez terminé!