J'utilise Je veux que la tâche de détection si le dossier CRUNT-CONTRUT'S> Concat CODE> et
UGLIFY CODE> Module pour traiter certains javascript. Actuellement si
src / js / code> est vide, ils créeront toujours un fichier concat'd (vide), ainsi que la version minifiée et une carte source. P>
src / js / code> est vide avant de continuer et s'il est, la tâche doit sauter (non échouer). Des idées comment faire cela? P>
3 Réponses :
avec ce plugin:
https://www.npmjs.org/package / GRUNT-FILE-EXISTRES P>
Vous pouvez vérifier l'existence des fichiers. (Je n'ai pas essayé, mais la source ressemble à soutenir GRUNT s'agrande. (*, ** ...) p>
Par exemple comme celui-ci :: p> Mais peut-être que si le fichier n'existe pas, il échouera avec une erreur au lieu d'un simple saut.
(Je n'ai pas testé.) P> S'il s'agit d'un problème, vous pouvez modifier un peu la source de ce plugin pour exécuter la tâche associée si le fichier existe: p> la configuration : p> et vous devez ajouter ceci: p> dans ce fichier: p> https://github.com/alexeiskachykhin/grunt-file-exists /blob/master/tasks/fileeexists.js p> Après cette ligne: p>
On dirait que cela fonctionnera, mais je préférerais une solution plus propre que d'utiliser une version patchée de GRUNT-File-Exist. :)
La solution peut ne pas être la plus jolie, mais pourrait vous donner une idée. Vous devrez exécuter quelque chose comme Un gist à comparaison: https://gist.github.com/kosmotaur/61bff2bc807b28a9fcfa p> p> NPM Installer --Save-dev glob code> premier. Ceci est basé sur une partie du projet
Milkshake code> que vous avez mentionné.
Merci cela a fini par être ce dont j'avais besoin!
Peut-être que ceci est juste une réponse plus à jour, car les autres ont plus d'un an, mais vous n'avez pas besoin de plugin pour cela; Vous pouvez utiliser Mise à jour de la réponse de @ kosmotaur (chemin est juste du code difficile ici, mais aussi de simplicité): P > grunt.file.expand code> pour tester si des fichiers correspondant à un certain motif de globbing existent.
grunt.registerTask('build_js', function(){
// if any file matches the glob pattern
if (grunt.file.expand("subdir/**/*.js").length) { /** new bit here **/
// if so, run the task chain
grunt.task.run([
'trimtrailingspaces:js'
, 'concat:js'
, 'uglify:yomama'
]);
}
});
Merci pour la mise à jour Marc! Pourriez-vous fournir un peu plus de contexte pour votre code? Est-ce que j'utiliserais cela directement dans une valeur code> SRC code> ou fichiers code> tableau? Ou serais-je l'utiliser dans la partie supérieure de la fonction comme @kosmotaur? Si oui, pouvez-vous imiter sa mise en page et fournir une fonction d'exemple complète?
Travaillé pour moi, merci!
Souhaitez-vous afficher une copie de votre
gruntfile.js code>? Avez-vous essayé de tout faire via
laferfection code> uniquement (aussi la concaténation), juste pour des tests?
Related / Duplicaté? Stackoverflow.com/Questtions/21001469/... < / a>
La source est disponible ici: Github.com/jtfairbank/milkshake
J'essaie spécifiquement de résoudre les 2e et 3ème todos dans le gruntfile.js.