Meteor Router + PhantomJS

Приложение Meteor использует Meteor router для навигации и плагин Spiderable, чтобы индексировать страницы поисковыми системами. Spiderable вызывает phantomjs для получения содержимого страницы. Этот подход работает нормально для большинства страниц, кроме домашней страницы.

   '/': ->
    'home'
  '/otherurl': ->
    'otherpage'

Я сделал некоторую отладку и обнаружил, что обратный вызов page.evaluate в spiderable.js всегда возвращает false в случае, когда была запрошена домашняя страница

...  
setInterval(function() {
  var ready = page.evaluate(function() {
    if (typeof Meteor !== 'undefined' && typeof(Meteor.status) !== 'undefined' && Meteor.status().connected) {
      Meteor.flush();
      return Meteor._LivedataConnection._allSubscriptionsReady();
    }
    return false;
  });
...

Какие-либо предложения?

2
Отправьте код функции home маршрутизатора.
добавлено автор sohel khalifa, источник
Вы это исправили? Если да, напишите ответ ниже :) В теге [meteor] есть слишком много вопросов, в которых есть ответы, существующие только в разделе комментариев.
добавлено автор Seth Malaki, источник
Наконец, я обнаружил, что следующий код вызвал проблему: Meteor.autosubscribe -> Meteor.subscribe 'items', Session.get ('item_id') Поскольку на старте сеанс пуст _allSubscriptionsReady() возвращает false all времени, и это заставило phantomjs повесить трубку.
добавлено автор pulsecat, источник
Meteor.js - русскоговорящее сообщество
Meteor.js - русскоговорящее сообщество
84 участник(ов)

Смотрите также @webpack_ru @featherjs