首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迷走性环境下的肝吞咽: livereload.js无法访问

迷走性环境下的肝吞咽: livereload.js无法访问
EN

Stack Overflow用户
提问于 2014-11-19 11:10:14
回答 2查看 3.6K关注 0票数 6

在我的迷航环境中使用gulp-livereload (用puphpet生成)有问题。我的电脑是Windows主机,VM是Debian.

我用这个文件:

代码语言:javascript
复制
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扩展添加神奇的JS文件时,我得到以下消息:

加载资源失败: net::ERR_CONNECTION_TIMED_OUT http://markup.dev:35729/livereload.js?ext=Chrome&extver=0.0.5

但是在我的VM中,如果我运行下面的命令行,我会得到它

代码语言:javascript
复制
wget http://localhost:35729/livereload.js?ext=Chrome&extver=0.0.5
EN

回答 2

Stack Overflow用户

发布于 2014-12-02 00:40:34

我没有足够的信息可以确定,但我猜您的问题是您试图从主机访问页面,但是肝负载端口没有被转发( VM有自己的IP地址,可以配置游行者将某些端口转发到主机,使它们“看起来”是主机上的本地端口)。

尝试将以下行添加到Vagrantfile

代码语言:javascript
复制
config.vm.network "forwarded_port", guest: 35729, host: 35729

(有关文档,请参阅:ports.html)

或者,如果您直接访问VM (也就是说,您已经将markup.dev映射到了客户的IP),那么可能值得验证的是,您的VM上没有配置防火墙,可能会从外部访问阻止livereload端口。

票数 8
EN

Stack Overflow用户

发布于 2015-01-14 17:26:28

在我的例子中,端口转发自动工作。但是,我必须将VM的IP指定为主机:

代码语言:javascript
复制
livereload.listen({
    host: '192.168.33.10'
});

更新:传递null也有效:

代码语言:javascript
复制
livereload.listen({
    host: null
});

我猜想底层http服务器在传递'localhost' 明确地说时的行为有所不同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27015379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档