2014-03-07 4 views
0

Я строю Gruntfile.js. Я пытаюсь создать задачи для ответа на запросы php.Задача grunt-php, открывающая несколько экземпляров браузера

Другие задачи включают в себя компиляцию компас/сасс и живую перезагрузку. Я попал в интересную загвоздку:

Когда я начинаю хрюкать, я вижу в терминале, что задачи просмотра запущены, и что php-сервер запущен: я получаю сообщения в терминале о некоторых файлах, которые не находятся в место.

Теперь вот что ... через пару секунд после того, как я начал хрюкать, окна firefox начинают открываться. (Я запускаю задачу без запуска firefox вообще. Обычно я использую хром и хром).

Новые окна открываются. Иногда появляются сообщения об ошибке firefox. Я также получаю всплывающие окна, рассказывающие мне, что мой профиль ff недоступен - именно этого я и ожидал, если бы попытался запустить «firefox» с терминала, пока ff уже запущен.

Они продолжают появляться до тех пор, пока я не прекращу хрюкать от бега. Все они сразу закрываются, когда я останавливаю задачу, Ctrl-c из терминала.

Что может быть причиной этого?

Вот мой gruntfile

module.exports = function (grunt){ 
grunt.initConfig({ 

    compass : { 
     dist : { 
      options : { 
       cssDir : 'css', 
       sassDir : 'sass', 
       debugInfo : true 
      } 
     } 
    }, 

php :{  
    dist : { 
    options : { 
     keepalive : true, 
     port: 9000 
    } 
    }, 
    watch : { 
    files : ['*.html', '*.php', 'js/*', 'sass/*', 'css/*'], 
    tasks : ['compass'], 
    options : { 
       livereload: true 
    } 
     }   
},  

}); 

grunt.loadNpmTasks('grunt-php'); 
grunt.loadNpmTasks('grunt-contrib-watch');  
grunt.loadNpmTasks('grunt-contrib-compass'); 
grunt.registerTask('default', ['php', 'watch']) ; 

} ; 

ответ

0

Ваша задача watch указывает, что вы хотите использовать livereload - так, что это (вид) ожидается, не так ли?

Смотрите здесь:

+0

Не совсем, нет. Я создал задачи для просмотра, которые ссылаются на функцию «назад», и я никогда не ожидал этого или не видел такого поведения. Я не думаю, что функция livereload предназначена для открытия открытых окон браузера. – davedave

+0

Согласовано. Тем не менее, что произойдет, если вы удалите функцию извлечения из вашей чашки? В зависимости от результата вы можете упростить свой тестовый пример, чтобы (по-видимому) ошибку в watch/livereload легче воспроизводить? –

+0

Положите иначе: мне кажется, что firefox/livereload неправильно сконфигурированы - или что часы делают что-то противное с помощью печеночной нагрузки. –

Смежные вопросы