【问题标题】:grunt-express-server with contrib-watch带有 contrib-watch 的 grunt-express-server
【发布时间】:2014-02-01 19:13:36
【问题描述】:

我正在尝试同时使用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']);
};

【问题讨论】:

    标签: express gruntjs grunt-contrib-watch


    【解决方案1】:

    我能够克隆您的project,并通过server.js 中的以下调整使一切运行:

    app.listen(3000);
    

    进入:

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

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

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

    否则,有一个 delay 选项供不希望应用程序输出任何输出的纯粹主义者使用:)

    【讨论】:

    • 非常感谢,我很关心 spawn 选项,我忽略了显而易见的事情。
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2023-03-12
    • 1970-01-01
    • 2014-11-19
    相关资源
    最近更新 更多