我正在尝试为我的ember应用程序创建一个预渲染服务器。
我安装了ember-prerender
(https://github.com/zipfworks/ember-prerender),使用了/ example中提供的初始化程序,将其部署在我的一台服务器上。
但是当我尝试启动时:
Restarting renderer, timed out while initializing
即使我改变引擎也是如此(我尝试使用Phantom和jsdom)。
我最好的猜测是XContentReady
事件永远不会被解雇。
答案 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
}
}
});