Grunt usemin et useminPrepare plusieurs cibles
De la usemin questions il semble que usemin
et useminPrepare
en charge plusieurs cibles dans la dernière version:
En charge plusieurs cibles dans useminPrepare:
usemin support:
J'ai essayé d'utiliser plusieurs cibles avec la configuration suivante:
useminPrepare: {
foo: {
dest: 'fooDist',
src: ['foo/index.html']
},
bar: {
dest: 'barDist',
src: ['bar/index.html']
}
},
usemin: {
foo: {
options: {
assetsDirs : ['fooDist']
},
html: ['fooDist/**/*.html'],
css: ['fooDist/styles/**/*.css']
},
bar: {
options: {
assetsDirs : ['barDist']
},
html: ['barDist/**/*.html'],
css: ['barDist/styles/**/*.css']
}
},
mais je reçois l'erreur suivante:
En cours d'exécution "usemin:foo" (usemin) tâche Avertissement: non pris en charge motif: foo
Utilisation de --force pour continuer.
Utilisation de grunt-usemin 2.0.2
foo/index.html
et bar/index.html
étant la principale pages pour les 2 single page applications.
Merci pour votre aide!
- Avez-vous jamais résoudre ce problème?
- J'ai fini à l'aide de 2 grunt fichiers de configuration comme un espoir de solution temporaire.
- Comme @sorich87 pointu à l'extrémité du fil ici (github.com/yeoman/grunt-usemin/pull/206), plusieurs cibles sont pris en charge mais PAS plusieurs destinations encore. Voir github.com/yeoman/grunt-usemin/issues/157
Vous devez vous connecter pour publier un commentaire.
par défaut usemin essaie de détecter le type d'analyseur (html,css) le nom de la cible. lorsque vous utilisez une cible que c'est le nom n'est pas valide d'un analyseur de type, vous devez utiliser le type de l'option pour spécifier le type d'analyseur manuellement. cela entraîne deux cibles pour chaque destination, un pour html et un pour css.
https://github.com/yeoman/grunt-usemin/issues/255
type:'js'
?Avez-vous besoin à la fois des projets pour vivre sous le même référentiel et la même Gruntfile?
Vous l'avez dit vous-même qu'ils sont des "pages principales pour 2 single page applications". Si vous pouvez vous permettre de le diviser en deux projets différents, vous aurez probablement vous épargner un peu de douleur.
Alternativement, vous pouvez regrouper les deux indices sous un répertoire commun. C'est de cette façon-je utiliser grunt-usemin avec deux différents fichiers d'index:
Ne sais pas si cela va aider, mais j'ai pu réussir à faire ce que vous étiez en train d'essayer avec une combinaison de Grunt-Contrib-Min et Grunt-Contr
Ce Grognement Fichier de mon répertoire App, sortie de tout cela dans le PRO dossier avec quelques balises ajoutées, et aussi de sortie de NOUVEAU tout à l'Lite dossier, avec d'autres commutateurs de jeu.
Bien que plusieurs cibles ne sont pas pris en charge actuellement dans usemin, ils ne vous permettent de définir de nouveaux modèles...
Donc, en attendant, vous pouvez définir de nouveaux objectifs en utilisant quelque chose comme:
Comme une solution de contournement (lutté avec pendant un certain temps), nous avons décidé de publier la totalité du grognement d'emploi deux fois et ajouté un grognement option qui basculé le fichier cible à une valeur différente. Pas très élégant, mais simple.
J'ai été de tenter de faire quelque chose de similaire où j'avais plusieurs pages/modèles avec différentes dépendant css/js/img fichiers que je voulais séparément processus par usemin. Vous pouvez utiliser un seul Gruntfile.js et utiliser un effectuer plusieurs tâches à accomplir plusieurs objectifs et les destinations avec usemin. Ce serait votre gruntfile:
Avec les tâches inscrit, vous pouvez exécuter toutes les différentes cibles/dest configurations avec:
Ou exécuter individuellement à partir de la packageConfig vous avez créé:
J'ai également eu à modifier le usemin blocs dans le code html à inclure le chemin relatif à la racine, par exemple :