0

なんらかの理由で、端末がヒットする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/ ディレクトリがあります。それが減速の原因でしょうか?

4

1 に答える 1

2

このウォッチャーはいくつのファイルを監視していますか!?

非常に一般的な誤用は、「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);
}));
于 2015-06-18T04:16:05.037 に答える