3

我正在尝试同时使用两者grunt-express-servergrunt-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']);
};
4

1 回答 1

12

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

app.listen(3000);

进入:

app.listen(3000, function() {
  console.log('Server listening on port 3000');
});

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

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

delay否则,对于不想从他们的应用程序中获得任何输出的纯粹主义者来说,有一个选择:)

于 2014-02-02T15:19:08.900 回答