grunt不会在watch livereload上重新加载服务器

时间:2015-04-18 06:47:27

标签: gruntjs grunt-contrib-watch grunt-contrib-concat grunt-contrib-uglify grunt-contrib-connect

如果任何文件发生更改,我一直在尝试重新加载服务器。我可以看到已更改的文件,但它不会重新加载我的服务器。

GruntFile.js

module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
        all:{ 
            src:'**/*.js',
           }


},
concat: {
        options: {
            banner: '(function() {',
            footer: '})();'
        },
        releaseLocalHybrid: {
            src: ['config/config.local.js','lib/fuse.js','src/model.js','src/templates/hybrid.js','src/controller/hybrid.js'],
            dest: 'dist/widgets.js'
        }
},

uglify: {
        options: {
            banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
        },
        releaseLocalHybrid: {
            files: {
                'widgets.js': ['<%= concat.releaseLocalHybrid.dest %>']
            }
        }

},
connect:
    {
        server:
        {
            options:
            {
                hostname: 'localhost',
                port: 8082,
                base: {
                    path:'.',
                    options: {
                    index:'index.html',
                    maxAge: 300000
                  },

                },
                livereload: true
            }
        }
    },
  watch: {
    options: {
        livereload: true
        },
     concat: {
        files: 'config/*.js',
        tasks: 'jshint',
        options:
        {
            spawn:false
        },
      },
    }
});

grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', [  'concat:releaseLocalHybrid','uglify:releaseLocalHybrid','connect', 'watch']);
grunt.registerTask('server', ['concat:releaseLocalHybrid','uglify:releaseLocalHybrid','connect','watch']);
};

任何建议或帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

我正在观看手表中的所有文件,因此releaseLocalHybrid一直在观看并且不会重新播放,但是如果我看getActivity().runOnUiThread(new Runnable() { @Override public void run() { view.setEnabled(false); } }); 它有效。谢谢你们。

答案 1 :(得分:1)

您需要为livereload指定一个端口。我一直在使用livereload选项:

watch: {
  less: {
    files : ['less/**/*.less']
  },
  css: {
    files: ['css/*.css'],
    options: {
      livereload: {
        port: 35750
      }
    }
  }
}