Gruntjs - 监视大量子目录和文件的更改

时间:2013-07-25 19:54:56

标签: javascript node.js filesystems gruntjs grunt-contrib-watch

我最近刚开始使用grunt.js,我想知道是否可以观察大文件夹结构的变化?

它在小型项目文件夹结构中对我来说很好,但是当试图观看像magento或wordpress这样的整个系统甚至是它们的一部分时,它只是挂在那里并且没有发现任何变化。

我做错了吗?

这是我的gruntfile.js:

module.exports = function(grunt) {
grunt.initConfig({
    watch: {
        livereload: {
            files: ['template/{,*/}*'],
            options: {
                // Start a live reload server on the default port 35729
                livereload: true
            }
        }
    }
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', 'watch');
}

如果您熟悉magento,则gruntfile位于

  

d:\瓦帕\ WWW \ Magento的\应用\设计\前端\ MyTheme的\默认\

并查看'template'文件夹,然后查看文件更改。

'template'文件夹中有404个文件和242个文件夹。公平地说并不是那么多......我不明白为什么它几乎没有立即发现变化而只是挂起。

当只添加一个子目录(例如:/ page包含25个文件和4个文件夹)到gruntfile文件源参考时,它会立即找到更改。

示例:

files: ['template/page/{,*/}*']

我希望我能够清楚地传达我的问题。如果不清楚,请告诉我。

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。问题在于我使用的正则表达式。

files: ['template/page/{,*/}*']

应该是:

files: ['**/*.*']

匹配任何子目录中的任何文件。

files: ['template/**/*.*']

匹配'template'文件夹中的所有子目录和文件。