我正在尝试让 LiveReload 与 Gulp 和 Chrome 一起使用。我已经安装了 Chrome 扩展程序(v2.0.9),我已经启用了“允许访问文件 URL”,每个人都说要这样做。我正在运行一个简单的 PHP 服务器php -S 127.0.0.1:35729 -t dist
。我已经安装了 gulp-livereload 并使用以下代码启动了监视任务:
var gulp = require('gulp'),
reload = require('gulp-livereload');
gulp.task('watch', function(){
reload.listen(35729, function (err) {
if (err) return console.log(err);
});
gulp.watch('dist/**').on('change', function(file) {
reload.changed();
console.log('PHP file changed' + ' (' + file.path + ')');
});
});
gulp.task('default', function(){
gulp.start('watch');
});
我在 Chrome 中转到 127.0.0.1:35729。我通过单击扩展按钮启用 LiveReload。我去编辑一个文件。吞咽 说:
[13:28:48] undefined reloaded.
PHP file changed (M:\path\to\file)
网页不更新。当页面加载时,Chrome 中的控制台会出现这个可爱的错误:
GET http://127.0.0.1:35729/livereload.js?ext=Chrome&extver=2.0.9 injected.js:116
LiveReloadInjected.doEnable injected.js:116
(anonymous function) injected.js:150
. many
. other
. lines
$Array.forEach.publicClass.(anonymous function) extensions::utils:94
dispatchOnMessage extensions::messaging:304
我尝试了一些疯狂的方法并将 livereload.js 文件放在服务器的根目录中,然后我得到了这个错误:
WebSocket 连接到“ws://127.0.0.1:35729/livereload”失败:连接在收到握手响应之前关闭
另外,我想在不同的端口上运行 LiveReload,但是当我将 php 服务器和 Gulp watch 更改为端口 9999 时,我收到此错误:
WebSocket 连接到“ws://127.0.0.1:35729/livereload”失败:连接建立错误:net::ERR_CONNECTION_REFUSED