web-dev-qa-db-fra.com

Variables <% = yeoman.app%> et <% = yeoman.dist%> pour un fichier grunt

Je vois souvent dans certains exemples de fichiers grunt l'utilisation des variables d'environnement <% = yeoman.app%> et <% = yeoman.dist%>. Je ne l'ai pas utilisé moi-même, mais d'où dérivent ces variables?

Est-il également possible de remplacer ces variables? Faut-il avoir yeoman pour utiliser ces variables d'environnement particulières?

J'ai lu la documentation et la FAQ . Existe-t-il des ressources qui en discutent davantage?

46
chrisjlee

D'où ces variables sont-elles dérivées?

En commençant largement, lisez exemple Gruntfile car il commence à adresser le <%= variable %> syntaxe. Si vous êtes nouveau sur Grunt, mettez cette page en signet car il y a des choses qui ne semblent pas importantes au début, mais qui seront utiles lors de lectures répétées.

Plus précisément, oui ... ceux-ci proviennent d'un générateur Yeoman. Par exemple, si j'exécute la dernière générateur-angulaire , le Gruntfile.js qu'il produit inclut ce bit de code:

yeoman: {
  // configurable paths
  app: require('./bower.json').appPath || 'app',
  dist: 'dist'
}

Vous pouvez donc voir, au moins à partir du générateur que j'ai utilisé, que <%= yeoman.app %> par défaut dans un répertoire appelé 'app' et <%= yeoman.dist %> pointera sur 'dist'. Si je collais l'intégralité du Gruntfile que le générateur a créé pour moi, vous verriez également que ceux-ci sont utilisés par de nombreuses tâches qui génèrent et testent l'application.

Comme vous pouvez l'imaginer (et vous voyez dans le exemple Gruntfile ) cela n'est pas limité uniquement à yeoman car fait partie de Grunt, vous pouvez donc l'utiliser pour garder votre Gruntfile propre et SEC .

Est-il possible de remplacer ces variables?

Oui. Le code que j'ai référencé ci-dessus peut être modifié de sorte que app et dist pointent vers des emplacements différents. Faire cela avec une application créée par un générateur yeoman pourrait entraîner plus de travail qu'il n'en vaut la peine. L'intérêt des générateurs yeoman est d'automatiser le travail afin que vous n'ayez pas à jouer avec ces choses. Vous obtenez une configuration passe-partout chaque fois que vous utilisez un générateur.

... sauf si vous écrivez votre propre générateur ou une application à partir de zéro et que vous "empruntez" des bits à un générateur et alors oui, vous pouvez les définir sur tout ce qui est important pour votre application.

Faut-il avoir yeoman pour utiliser ces variables d'environnement particulières?

Non, mais je ne vois aucune raison d'utiliser le nom "yeoman" si vous créez une application à partir de zéro. Si vous utilisez une application générée par yeoman, je ne vois pas la raison de la changer.

72
Matthew Bakaitis