我想运行一个本地同步守护进程。
应该查看src
目录并将任何已更改的文件复制到dst
目录。 src
中有许多子目录,因此应保留相对路径。已创建dst
中所有必需的子目录。
我想过滤仅用于*.js
个文件。
我找到了grunt-sync工具。文档很短,我甚至不知道它是否适合我。这是我的Gruntfile
:
module.exports = function (grunt) {
grunt.initConfig({
sync: {
main: {
files: [{
cwd: src,
src: ['**/*.js'],
dest: dst
}]
}
}
});
grunt.loadNpmTasks('grunt-sync');
grunt.registerTask('default', 'sync');
};
当我跑咕噜咕噜时,我看不到任何观察任务。 Grunt冻结几秒钟,然后复制所有文件并退出。我想要一个watch-sync守护进程。
答案 0 :(得分:2)
我创建了一个名为duplicate的工具,它会做你想要的(虽然一年后),它会在启动时复制所有匹配的文件,并继续观察是否会有任何变化。
它不是作为Gulp或Grunt插件编写的,因为它不需要,但当然您可以轻松地在Gulp或Grunt任务中运行它。
答案 1 :(得分:0)
可能有点晚了,但是我有同样的问题。我要做的是将两种工具结合在一起。grunt-sync和grunt-contrib-watch ..
module.exports =函数(咕unt声){
grunt.initConfig({
sync: {
main: {
files: [{
cwd: src,
src: ['**/*.js'],
dest: dst
}]
}
},
watch: {
jsxfiles: {
files: ['**/*.js'],
tasks: ['sync:main'],
} //this means that when any of the pattern files changes, the sync task will be run...
}
});
grunt.loadNpmTasks('grunt-sync');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', 'watch'); //run the watch task isntead of just the sync once..
};
我希望这会有所帮助
乔恩·乔恩