使用 touch 触摸修改后的文件并使用 grunt 观看
touching a modified file using touch and watch with grunt
标题可能自相矛盾,但假设我有一个软件 (s1) WYSIWYG 但这个软件并不是真正的 WYSIWYW(你see is what you write),当编辑源文件并保存时,软件没有更新结果框。
但是,如果另一个软件 (s2) 正在访问该文件,s1 的结果框架会更新,现在您看到的是你得到了什么(某种技巧你..)。
我正在使用 grunt-contrib-watch
观看一组文件,假设在我的场景中是 s2。当我在 s1 中编辑 being-watched 文件时,我希望观察者也执行一个涉及该文件的任务,因此 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
文件的触摸任务。
我该怎么做?
您是否尝试过在 watch 事件中触摸文件?使用此方法有选择地对文件执行 g运行t 任务。
您可以尝试这种设置:
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 }
希望对您有所帮助!
标题可能自相矛盾,但假设我有一个软件 (s1) WYSIWYG 但这个软件并不是真正的 WYSIWYW(你see is what you write),当编辑源文件并保存时,软件没有更新结果框。
但是,如果另一个软件 (s2) 正在访问该文件,s1 的结果框架会更新,现在您看到的是你得到了什么(某种技巧你..)。
我正在使用 grunt-contrib-watch
观看一组文件,假设在我的场景中是 s2。当我在 s1 中编辑 being-watched 文件时,我希望观察者也执行一个涉及该文件的任务,因此 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
文件的触摸任务。
我该怎么做?
您是否尝试过在 watch 事件中触摸文件?使用此方法有选择地对文件执行 g运行t 任务。
您可以尝试这种设置:
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 }
希望对您有所帮助!