Gruntjs 如何在for循环中运行grunt任务,同时动态更改配置中的数据?

Gruntjs 如何在for循环中运行grunt任务,同时动态更改配置中的数据?,gruntjs,Gruntjs,我试图在grunt中运行一个任务,它转到一个URL并将响应保存在一个文件中,但我希望它转到不同的URL并相应地生成不同的文件。 因此,我运行一个循环,在每次迭代中更改配置中的数据。 但是任务运行会追加到循环的末尾,因此当循环完成时,它会使用配置中最新更改的值运行任务30次,最后一次又一次地只创建1个文件30次。 这是我的密码 module.exports=函数(grunt){ grunt.initConfig({ id:0, http:{ 德维尔:{ 选项:{ 网址:'http://127.0.

我试图在grunt中运行一个任务,它转到一个URL并将响应保存在一个文件中,但我希望它转到不同的URL并相应地生成不同的文件。 因此,我运行一个循环,在每次迭代中更改配置中的数据。 但是任务运行会追加到循环的末尾,因此当循环完成时,它会使用配置中最新更改的值运行任务30次,最后一次又一次地只创建1个文件30次。 这是我的密码
module.exports=函数(grunt){
grunt.initConfig({
id:0,
http:{
德维尔:{
选项:{
网址:'http://127.0.0.1:8000/foo//'
},
dest:'www/foos/foo.json'
}
}
});
loadNpmTasks('grunt-http');
registerTask(“default”,function()){
对于(变量i=30;i>1;i--){
grunt.config.set(“id”,i);
var d=grunt.config.get(“id”);
grunt.log.writeln(“id=”+d);
run(“http”);
}
});

};我不能100%确定您试图做什么,但此代码应该可以工作。您需要为要运行的每个http任务创建一个唯一的任务

module.exports = function(grunt){
    grunt.initConfig({
        http:{
        }
    });
    grunt.loadNpmTasks('grunt-http');

    var http = {};

    for (var i = 5; i > 1; i--) {
        grunt.log.writeln("id = " + i);

        http['devel' + i] = {
            options: {
              url: 'http://127.0.0.1:8000/foo/' + i
            },
            dest: 'www/foos/foo' + i + '.json'
        };
    }

    grunt.config.set("http", http);

    grunt.registerTask("default", "http");
};

也许这个链接会有帮助:这没有帮助,因为我想在某种意义上把一些参数传递给任务本身。(要传递的参数将是循环的迭代索引)感谢您的响应。我的问题早就解决了。我也用了类似的东西。