2013-12-09 72 views
2

我想運行本地同步守護進程。grunt:觀察並同步文件

它應該觀看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時,我看不到任務。 Grunt凍結了幾秒鐘,然後複製所有文件並退出。我想要一個watch-sync守護進程。

+0

的Node.js已經有一個建於 - > http://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener – adeneo

+0

@adeneo:如果我寫我的第一個模塊來做到這一點? :P – Dan

+0

您沒有使用手錶模塊:https://github.com/gruntjs/grunt-contrib-watch ...,這對於實際監控文件夾不斷需要。 – WiredPrairie

回答

2

我創建了一個名爲duplicate的工具,它可以做你想做的事情(儘管一年後),它會在啓動時複製所有匹配的文件,並持續觀察是否會有任何改變。

它不是寫成一個Gulp或Grunt插件,因爲它不需要,但是當然你可以很容易地在Gulp或Grunt任務中運行它。

退房https://github.com/vilic/duplicate