运行 并完成 "watch" 任务后 Grunt 真的很慢

Grunt really slow after running and completing "watch" task

出于某种原因,当我的终端点击时 Running "watch" task Completed in 3.131s at Wed Jun 17 2015 21:00:56... ...) - Waiting... 它变得很慢,我们在它填充其余数据之前讨论了 1 分钟以上。

它可能是在我尝试通过 mongo-connector 将我的数据库同步到我的 elasticsearch 服务器时启动的。

会不会是我的 mongodb 减慢了一切? 有什么想法吗?

更新 这是我 Grunt.js 文件中的手表:

watch: {
  injectJS: {
    files: [
      '<%= yeoman.client %>/{app,components}/**/*.js',
      '!<%= yeoman.client %>/{app,components}/**/*.spec.js',
      '!<%= yeoman.client %>/{app,components}/**/*.mock.js',
      '!<%= yeoman.client %>/app/app.js'],
    tasks: ['injector:scripts']
  },
  injectCss: {
    files: [
      '<%= yeoman.client %>/{app,components}/**/*.css'
    ],
    tasks: ['injector:css']
  },
  mochaTest: {
    files: ['server/**/*.spec.js'],
    tasks: ['env:test', 'mochaTest']
  },
  jsTest: {
    files: [
      '<%= yeoman.client %>/{app,components}/**/*.spec.js',
      '<%= yeoman.client %>/{app,components}/**/*.mock.js'
    ],
    tasks: ['newer:jshint:all', 'karma']
  },
  gruntfile: {
    files: ['Gruntfile.js']
  },
  livereload: {
    files: [
      '{.tmp,<%= yeoman.client %>}/{app,components}/**/*.css',
      '{.tmp,<%= yeoman.client %>}/{app,components}/**/*.html',
      '{.tmp,<%= yeoman.client %>}/{app,components}/**/*.js',
      '!{.tmp,<%= yeoman.client %>}{app,components}/**/*.spec.js',
      '!{.tmp,<%= yeoman.client %>}/{app,components}/**/*.mock.js',
      '<%= yeoman.client %>/assets/images/{,*//*}*.{png,jpg,jpeg,gif,webp,svg}'
    ],
    options: {
      livereload: true
    }
  },
  express: {
    files: [
      'server/**/*.{js,json}'
    ],
    tasks: ['express:dev', 'wait'],
    options: {
      livereload: true,
      nospawn: true //Without this option specified express won't be reloaded
    }
  }
},

我有一个 client/assets/images/ 目录,里面有成千上万张图片。这会导致减速吗?

这个观察者正在看多少文件!?

一个非常常见的误用是监视一个父文件夹,而您的 "node_modules" 是一个子文件夹。因此,根据您使用的节点模块数量,此观察者可能正在观察数十万个 js 文件...

要点

1) 确保您的观察者没有在观察 "node_modules" 文件夹。

2) 尽可能使用文件过滤器来只观看您关心的文件。下面的示例仅监视 .less 文件。

// example of watcher for .less files only

watch('../Content', filter(/\.less$/, function (filename) {
    console.log('file changed: ', filename);
}));