使用grunt在虚拟机上使用LiveReload时出错

时间:2014-08-07 08:40:21

标签: javascript gruntjs ubuntu-12.04 livereload grunt-contrib-watch

我正在使用设置了vagrant / puphpet的虚拟机(ubuntu 12.04)。 我成功地设置了grunt和contrib-watch。我安装了Chrome扩展程序...此处指定的所有内容:https://github.com/gruntjs/grunt-contrib-watch#live-reloading

我的Gruntfile如下:

module.exports = function(grunt)
{

require('load-grunt-tasks')(grunt);

grunt.initConfig({
  compass: {                  // Task
    dist: {                   // Target
      options: {              // Target options
        sassDir:        'sass',
        cssDir:         'css',
        environment:    'development',
        httpPath:       '/',
        imagesDir:      'img',
        relativeAssets:  true
      }
    }
  },
watch: {
    options: { livereload: true },
    sass: {
        files: ['sass/**/*.scss'],
        tasks: ['compass'],
        options: { spawn: false }
    }
}
});

grunt.registerTask('default', ['compass']);
}

我运行命令“grunt watch”,它正确处理我的sass。但在Chrome的控制台中,我收到以下错误:

GET http://127.0.0.1:35729/livereload.js?ext=Chrome&extver=2.0.9
net::ERR_CONNECTION_REFUSED  injected.js:116

如果我在我的视图中手动添加脚本,我仍然会收到错误:

GET http://localhost:35729/livereload.js net::ERR_CONNECTION_REFUSED 

知道这个错误可能来自哪里以及它为什么不加载脚本?

1 个答案:

答案 0 :(得分:1)

你的gruntfile看起来没问题。

您的虚拟机似乎拒绝连接。确保在iptables中打开了实时重新加载端口。

在Ubuntu中,只需使用ufw

就可以完成
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 35729/tcp