Comment copier des fichiers jade compilés dans un dossier de destination en utilisant grunt

Pour une single page app que je travaille, j'ai la structure suivante:

  • dist
    • css
    • js
    • lib
    • partiels
    • index.html
  • src
    • css
    • js
    • lib
    • vues
      • partiels
      • index.jade

Répertoire dist sera utilisé par l'express serveur pour servir le projet. J'ai trivial grunt tâches (à l'aide de grunt-contrib-propregrunt-contrib-copie) pour le nettoyage dist et la copie src/csssrc/jssrc/lib à dist.

Le problème, c'est src/vues. Ce répertoire contient jade fichiers qui doivent être compilées dans des fichiers html. Après la compilation je veux dist (index.html dans la dist racine, les partiels comme subdir).

Pour le moment je suis en utilisant le grunt-contrib-jade tâche de compiler et de copier le jade fichiers. Je veux les copier à dist, car je ne veux pas ajouter de la compilation des fichiers html à la source de contrôle. Mais maintenant, ce n'est pas vraiment réalisable, puisque vous devez spécifier tous les jade fichier (maintenant il ya seulement quelques-uns, mais qui va se développer):

   jade: {
        compile: {
            options: {
                pretty: true
            },
            files: {
                //TODO make one line
                'dist/index.html': ['src/views/index.jade'],
                'dist/partials/banner.html': ['src/views/partials/banner.jade'],
                'dist/partials/dashboard.html': ['src/views/partials/dashboard.jade'],
                'dist/partials/navbar.html': ['src/views/partials/navbar.jade'],
                'dist/partials/transfer.html': ['src/views/partials/transfer.jade']
            }
        }
    },

Est-il possible d'utiliser le grunt-contrib-jade tâche (ou un autre) avec un filtre de répertoire? Comme ceci:

   jade: {
        compile: {
            options: {
                pretty: true
            },
            dir: {
                'dist': ['src/views']
            }
        }
    }

source d'informationauteur asgoth