如何将grunt任务的feed输出转换为另一个grunt任务?

时间:2015-08-08 22:27:46

标签: javascript node.js wordpress gruntjs grunt-exec

我不确定咕噜是否能做到这一点。我有两个我想要运行的grunt任务。第一个任务是创建模拟帖子,第二个任务是运行penthouse任务以内联css。任何hacky方式都是受欢迎的。

这是我必须运行以在WordPress中创建博客文章的exec任务。

    exec: {
        create_mock: {
            cmd: 'cd ~/MyProjects/project/vip-quickstart && vagrant ssh -c \'sh /srv/www/wp-content/themes/vip/the-theme/bin/mock-post.sh\'',
            callback: function(err, stdout, stderr) {
                grunt.log.write('stdout: ' + stdout); // This is the url of the created post.
            }

        }
    },

输出是创建博客文章的网址,我有这个penthouse任务要运行,我需要在网址中输入此任务将获得所有上述的css。

   penthouse: {
        singular: {
            outfile: 'assets/css/inline/_singular.css',
            css: 'assets/css/theme.css',
            minify: true,
            url: $URL, // << I want to feed in the url from the previous task to here.
            width: 1300,
            height: 900
        }
    },

我能想到的hacky方法是将out保存到文件中并在penthouse任务中读取它,但我认为必须有更好的方法来执行此操作。

非常感谢。

1 个答案:

答案 0 :(得分:3)

如果您需要多次使用该值,可以使用grunt.config.set直接设置值(或另一个属性并将其与grunt.template一起使用。)

 exec: {
    create_mock: {
        cmd: 'cd ~/MyProjects/project/vip-quickstart && vagrant ssh -c \'sh /srv/www/wp-content/themes/vip/the-theme/bin/mock-post.sh\'',
        callback: function(err, stdout, stderr) {
            grunt.config.set("penthouse.singular.url", stdout);
        }

    }
},
相关问题