Grunt LiveReload с WordPress и сервером WAMP / MAMP?

Существующие посты Работа с grunt livereload и разработка WordPress объясняют, что вам все еще нужен WAMP / MAMP для обслуживания PHP и MySQL. Вы не можете просто использовать сервер barebones, который перезагружает index.html через порт 35729 во всех основных примерах grunt livereload. Я понимаю.

Но, насколько я понимаю, я должен заставить свою ворчливую прямую загрузку указывать на тот же порт, что и на WAMP, в противном случае они работают в разных вселенных, и не произойдет никакого совершенства при прямой загрузке.

Я предполагаю, что это означает, что вы должны ворчать так:

      options: {
livereload: 80
},

Но если я так поступаю, жалуется

Фатальная ошибка. Порт 80 уже используется

Точно так же, если я сначала запустил ворчание, а затем WAMP, это Apache, который жалуется, что порт уже используется.

Итак, как вы получаете их на той же странице?

PS В WordPress мой файл functions.php включает это в соответствии с предлагаемыми настройками, задокументированными в другом месте, но не уверен, что это также является частью проблемы:

if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
wp_register_script('livereload', 'http://localhost/myproject/livereload.js?snipver=1', null, false, true);
wp_enqueue_script('livereload');
}

0

Решение

Порт livereload используется веб-сокетом. Когда Grunt выполняет задачу, на веб-страницу отправляется сообщение «перезагрузите вас».
Это то же самое, что и «основные примеры livereload». Сервер доставляет html (и другие файлы) по http на порт 80 и сервер livereload прослушивает другой порт (35729, если хотите).
Я не видел, что это ваша проблема: — /.

Я думаю, что вы код PHP просто добавить <script src="http://localhost/myproject/livereload.js?snipver=1"></script> на вашей странице при доступе к сайту с локального хоста.

0

Другие решения

Apache (в WAMP) работает на порте 80, поэтому вы не можете использовать его для livereload. Сделайте что-то вроде этого:

// functions.php
if (in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
wp_register_script('livereload', 'http://localhost:9000/myproject/livereload.js?snipver=1', null, false, true);
wp_enqueue_script('livereload');
}

// Gruntfile.js
options: {
livereload: 9000
},

Это не должен быть порт 9000, просто что-то отличное от 80.

0

По вопросам рекламы [email protected]