我gulp-livereload
在我的流浪环境中使用(用puphpet生成)有问题.我的电脑是Windows主机,虚拟机是Debian.
我用这个gulpfile:
var gulp = require('gulp'), less = require('gulp-less') lr = require('tiny-lr'), livereload = require('gulp-livereload'), server = lr() ; gulp.task('less', function () { gulp.src('assets/less/*.less') .pipe(less()) .pipe(gulp.dest('build/css')) .pipe(livereload(server)) ; }); gulp.task('watch', function() { gulp.watch('assets/less/*.less', ['less']); livereload.listen(35729, function(err){ if(err) return console.log(err); }); }); gulp.task('default', ['watch', 'less']);
当Chrome Extension添加神奇的JS文件时,我会收到以下消息:
无法加载资源:net :: ERR_CONNECTION_TIMED_OUT http://markup.dev:35729/livereload.js?ext=Chrome&extver=0.0.5
但是在我的VM中,如果我运行以下命令行,我就会得到它
wget http://localhost:35729/livereload.js?ext=Chrome&extver=0.0.5
Hargobind.. 8
我没有足够的信息可以肯定,但我猜你的问题是你试图从主机访问页面,但是不转发livereload端口(VM有它自己的IP地址和vagrant可以是配置为将某些端口转发到主机,以便它们"显示"为主机上的本地端口).
尝试将以下行添加到您的Vagrantfile
:
config.vm.network "forwarded_port", guest: 35729, host: 35729
(有关文档,请参阅:https://docs.vagrantup.com/v2/networking/forwarded_ports.html)
或者,如果您直接访问VM(markup.dev
即已映射到guest 虚拟机的IP),则可能需要验证VM上是否未配置防火墙,这可能会阻止livereload端口进行外部访问.
我没有足够的信息可以肯定,但我猜你的问题是你试图从主机访问页面,但是不转发livereload端口(VM有它自己的IP地址和vagrant可以是配置为将某些端口转发到主机,以便它们"显示"为主机上的本地端口).
尝试将以下行添加到您的Vagrantfile
:
config.vm.network "forwarded_port", guest: 35729, host: 35729
(有关文档,请参阅:https://docs.vagrantup.com/v2/networking/forwarded_ports.html)
或者,如果您直接访问VM(markup.dev
即已映射到guest 虚拟机的IP),则可能需要验证VM上是否未配置防火墙,这可能会阻止livereload端口进行外部访问.