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

toy*_*toy 6 javascript wordpress node.js gruntjs grunt-exec

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

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

    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.
            }

        }
    },
Run Code Online (Sandbox Code Playgroud)

输出是创建博客文章的URL,我有这个penthouse任务要运行,我需要在url中提供此任务将获得所有上面的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
        }
    },
Run Code Online (Sandbox Code Playgroud)

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

非常感谢.

Pet*_*TNT 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);
        }

    }
},
Run Code Online (Sandbox Code Playgroud)