Как я могу использовать LiveReload с Lando (Docker) в своем инструменте интерфейса?
Я использую Lando для создания среды для сайта Drupal 7. В моей теме я использую Gruntfile, который я использую почти для каждого сайта, но я думаю, что мне может не хватать какой-то дополнительной конфигурации для этой среды Lando.
В моем Gruntfile.js;
var
LIVERELOAD_PORT = 35730,
lrSnippet = require('connect-livereload')({ port: LIVERELOAD_PORT }),
mountFolder = function( connect, dir ) {
return connect.static(require('path').resolve(dir));
};
// ....
module.exports = function( grunt ) {
// Load all Grunt Tasks
require('load-grunt-tasks')(grunt);
grunt.initConfig({
connect: {
options: {
port: 9001,
hostname: '0.0.0.0'
},
livereload: {
options: {
middleware: function( connect ) {
return [
lrSnippet,
mountFolder(connect, './')
];
}
}
}
},
watch: {
sass: {
files: ['../src/css/{,*/}*.scss'],
tasks: ['sass', 'concat:css', 'cssmin'],
},
js: {
files: ['../src/js/{,*/}*.js', '!../src/js/scripts.min.js'],
tasks: ['concat:js', 'uglify'],
},
php: {
files: ['**/*.php'],
options: {
spawn: false,
livereload: LIVERELOAD_PORT
}
},
livereload: {
files: [
'../src/{,*/}*.html',
'../src/{,*/}*.{css,js,png,jpg,gif,svg}'
],
options: {
livereload: LIVERELOAD_PORT
}
}
}
});
и в моем html.tpl.php;
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35730/livereload.js?snipver=1"></' + 'script>')</script>
Это работает вне этой среды Ландо. В консоли браузера это говорится;
GET http://my-site.lndo.site:35730/livereload.js?snipver=1 net::ERR_EMPTY_RESPONSE
после того, как я бегу lando grunt
(который запускает задачи как надо)
Нужно ли выставлять порт или что-то? Этот ресурс Lando, посвященный инструментам внешнего интерфейса, помог мне настроить все службы ( https://docs.devwithlando.io/tutorials/frontend.html), но в нем не упоминается проблема такого рода.