我正在使用设置了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
知道这个错误可能来自哪里以及它为什么不加载脚本?
答案 0 :(得分:1)
你的gruntfile看起来没问题。
您的虚拟机似乎拒绝连接。确保在iptables中打开了实时重新加载端口。
在Ubuntu中,只需使用ufw:
就可以完成sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 35729/tcp