J'ai créé une nouvelle tâche grunt dans laquelle je souhaite utiliser grunt-contrib-concat pour concaténer quelques fichiers.
J'ai jeté un coup d'œil à la documentation mais je ne trouve rien qui suggère de pouvoir le faire. Cela ressemble à un cas d'utilisation trivial, alors je suis probablement en train de regarder quelque chose.
Mise à jour 1:
Je veux aussi pouvoir configurer cette tâche à partir de ma tâche personnalisée.
Par exemple, je crée une liste de fichiers dans ma tâche personnalisée. Après avoir cette liste, je veux les passer à la tâche de concat. Comment puis je faire ça?
J'aimerais pouvoir faire quelque chose comme ça.
grunt.task.run('concat', { src: ['file1','file2'], dest: 'out.js'})
Mise à jour 2:
Pour réaliser ce que je veux, je dois configurer manuellement la tâche Grunt. Voici un exemple qui m'a montré ce que je voulais.
https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130
Voici un exemple de configuration manuelle d'une tâche dans une tâche, puis de son exécution.
https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130
grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() {
var count = 0;
grunt.file.expandFiles(this.data).forEach(function(file) {
var property = 'mincss.css'+count+'.files';
var value = {};
value[file] = file;
grunt.config(property, value);
grunt.log.writeln("Minifying CSS "+file);
count++;
});
grunt.task.run('mincss');
});
De https://github.com/gruntjs/grunt/wiki/Creating-tasks
grunt.registerTask('foo', 'My "foo" task.', function() {
// Enqueue "bar" and "baz" tasks, to run after "foo" finishes, in-order.
grunt.task.run('bar', 'baz');
// Or:
grunt.task.run(['bar', 'baz']);
});
Merci à Arron qui nous a indiqué dans la bonne direction sa propre question. Le fichier grunt.config est la clé de l'exemple ci-dessus. Cette tâche remplacera la propriété src de la tâche browserify
Définition de tâche:
grunt.registerTask('tests', function (spec) {
if (spec) {
grunt.config('browserify.tests.src', spec);
}
grunt.task.run(['jshint', 'browserify:tests', 'jasmine']);
});
Appel de tâche:
grunt tests
ou
grunt tests:somewhere/specPath.js
Si vous vous sentez paresseux, j'ai fini par publier un module npm qui transfère les configs de votre tâche dans la sous-tâche que vous souhaitez exécuter: