使用触摸和咕噜声触摸修改过的文件

时间:2015-03-26 16:19:31

标签: javascript gruntjs touch watch

标题可能是矛盾的,但我要说有一个软件( s1 WYSIWYG但是这个软件实际上不是 WYSIWYW(你看到的是你所写的)< / em>,在编辑源文件并保存时,软件不会更新结果框。

但是,如果另一个软件( s2 )正在触摸该文件, s1 的结果框架会更新,现在您所看到的就是您所获得的(某种技巧)咋..)。

我正在使用grunt-contrib-watch来观看某些文件,假设在我的方案中它是 s2 。当我在 s1 中编辑正在观看的文件时,我希望观察者也执行触及此文件的任务,因此 s1 会显示结果。

这基本上就是我想要的代码:

module.exports = function (grunt) {

    grunt.initConfig({

        touch: {
            src: "the being-saved '.cf' file" // how can I reference this file ?
        },
        watch: {
            files: ['**/*.cf'],
            tasks: ['touch']
        }
    });

    grunt.loadNpmTasks('grunt-touch');
    grunt.loadNpmTasks('grunt-contrib-watch');
};

当我编辑并保存.cf文件时,我希望观察者执行触摸任务,触摸刚刚保存的.cf文件。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您是否尝试过触摸 watch 事件中的文件?使用此方法有选择地对文件执行grunt任务。

您可以使用这种设置:

grunt.event.on('watch', function(action, filepath) {
    //filepath is what you need

    //do the touch here. ie: set the src of touch task
    grunt.config('touch.src', filepath);

    //do some more work if needed
    //...

    //tell watch what to do
    grunt.config('watch.tasks', 'touch');
});

您可能需要将nospawn添加到 watch 任务,以使其在相同的上下文中运行:

options : { nospawn : true }

希望这有帮助!