paso - pasar parametros a javascript
Programar sistemáticamente los argumentos para gruñir tarea? (2)
Tengo una tarea grunt que llama a otras tareas grunt. Quiero llamar a una subtarea con argumentos determinados programáticamente. es posible? Pasé un tiempo buscando entre lib / grunt.js y lib / grunt / task.js , pero no pude resolverlo.
Estoy usando grunt-compass
con los siguientes argumentos especificados en Gruntfile.js :
compass: {
default_options: {
src: ''components/201'',
dest: ''build'',
require: [''zurb-foundation'']
}
}
Quiero poder anularlos en tiempo de ejecución:
tareas / my-task.js :
// simplified example
module.exports = function(grunt) {
grunt.registerTask(''foo'', ''bar'', function() {
var chooseDest = doWork();
grunt.task.run(''compass'', {src: ''src'', dest: chooseDest});
});
};
Para referencia:
$ grunt --version
grunt-cli v0.1.6
grunt v0.4.0rc6
Me lo imaginé. Use la sintaxis <%= %>
en Gruntfile.js:
compass: {
default_options: {
src: ''components/<%= myTask.src %>'',
dest: ''build'',
require: [''zurb-foundation'']
}
}
Entonces puedes configurarlo en tu tarea:
grunt.config.set(''myTask.src'', getSrc());
Puedes editar toda la configuración de Grunt:
grunt.config(''compass.default_options.src'', ''blabla'');
Justo antes de ejecutar la tarea. Pero tu solución es "más limpia".