Ember预渲染:初始化时超时

时间:2015-11-05 14:45:02

标签: ember.js prerender

我正在尝试为我的ember应用程序创建一个预渲染服务器。

我安装了ember-prerenderhttps://github.com/zipfworks/ember-prerender),使用了/ example中提供的初始化程序,将其部署在我的一台服务器上。

但是当我尝试启动时:

Restarting renderer, timed out while initializing

即使我改变引擎也是如此(我尝试使用Phantom和jsdom)。

我最好的猜测是XContentReady事件永远不会被解雇。

1 个答案:

答案 0 :(得分:0)

因此确实XContentReady没有引发问题的原因。 我没有添加触发事件的mixin:

mixins / ember-prerender.js:

import Ember from 'ember';

export default Ember.Mixin.create({
  willComplete: function() {
    Ember.RSVP.resolve();
  },
  actions: {
    didTransition: function() {
      this._super();

      var promises = [];
      var currentHandlerInfos = this.router.get('router.currentHandlerInfos');
      for (var i = 0; i < currentHandlerInfos.length; i++) {
        if (currentHandlerInfos[i].handler.willComplete) {
          promises.push(currentHandlerInfos[i].handler.willComplete());
        }
      }

  Ember.RSVP.all(promises).then(window.prerenderReady); //<-- FIRERING HERE
}
}
});