如何让livereload与grunt一起工作?

时间:2015-08-08 07:24:10

标签: angularjs gruntjs grunt-contrib-connect

我正在咕噜咕噜地试着通过咕噜声和连接来运行我的网站。 我有一个像这样的gruntfile:

module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),
    connect: {
      options: {
        port: 9000,
        // Change this to '0.0.0.0' to access the server from outside.
        hostname: 'localhost',
        livereload: 35729
      },
      livereload: {
        options: {
          open: true,
          middleware: function (connect) {
            return [
              connect.static('.tmp'),
              connect().use(
                '/bower_components',
                connect.static('./bower_components')
              ),
              connect.static(appConfig.app)
            ];
          }
        }
      }
  });

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-connect');

  // Default task(s).
  grunt.registerTask('default', ['connect:livereload','watch']);

};

问题是当我运行grunt时出现错误:

Running "connect:livereload" (connect) task
Warning: undefined is not a function Use --force to continue.

Aborted due to warnings.

如何让咕噜咕噜的跑步?

2 个答案:

答案 0 :(得分:1)

我可以看到你调用appConfig.app(可能是自生成项目的c / p),但你从未创建它。这可能是一个提示,因为其余的代码似乎是正确的。

答案 1 :(得分:0)

在我正在进行的项目中,我决定将插件更改为BrowserSync。它易于配置并完成其工作。

BrowserSync网站:http://www.browsersync.io/docs/grunt/。 配置很简单,它在他们的网站上给出,所以我不打算在这里复制它。也许如果您在grunt-contrib-connect遇到困难,可以试试这个。