带有contrib-watch的grunt-express-server

Rya*_*sch 3 express gruntjs grunt-contrib-watch

我试图使用两者grunt-express-server,grunt-contrib-watch然而,一旦我的快递服务器启动,它似乎不再做任何观看或重新加载.我有服务器设置在后台生成.我的项目在这里:https://github.com/RyanHirsch/firem

这是我的Gruntfile.js

module.exports = function(grunt) {
  require('load-grunt-tasks')(grunt);
  // Project configuration.
  grunt.initConfig({
    watch: {
      options: {
        livereload: true,
      },
      express: {
        files:  [ 'index.html', 'server.js' ],
        tasks:  [ 'express:dev' ],
        options: {
          spawn: false
        }
      }
    },
    express: {
      options: {
        // Override defaults here
      },
      dev: {
        options: {
          script: 'server.js'
        }
      }
    }
  });

  grunt.registerTask('default', ['express:dev','watch']);
};
Run Code Online (Sandbox Code Playgroud)

Eri*_*ric 12

我能够克隆你的项目,并能够通过以下调整来运行所有内容server.js:

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)

成:

app.listen(3000, function() {
  console.log('Server listening on port 3000');
});
Run Code Online (Sandbox Code Playgroud)

根据grunt-express-server的" Usage "文档,您的服务器应该console.log输出一些,以便grunt任务可以告诉服务器已成功启动.

(这是因为启动服务器是异步的,这可能导致与LiveReload的竞争条件)

否则,delay对于不希望其应用程序输出的纯粹主义者有一个选项:)