Ember 预渲染:初始化时超时
Ember pre-render: timed out while initializing
我正在尝试为我的 ember 应用程序创建一个预渲染服务器。
我安装了 ember-prerender
(https://github.com/zipfworks/ember-prerender),使用了 /example 中提供的初始化程序,并将其部署在我的一台服务器上。
但是当我尝试启动它时:
Restarting renderer, timed out while initializing
换引擎也是这样(我用Phantom和jsdom试过)
我最好的猜测是 XContentReady
事件从未触发。
所以确实是 XContentReady
没有开火导致了这个问题。
我没有添加触发事件的混合:
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
}
}
});
我正在尝试为我的 ember 应用程序创建一个预渲染服务器。
我安装了 ember-prerender
(https://github.com/zipfworks/ember-prerender),使用了 /example 中提供的初始化程序,并将其部署在我的一台服务器上。
但是当我尝试启动它时:
Restarting renderer, timed out while initializing
换引擎也是这样(我用Phantom和jsdom试过)
我最好的猜测是 XContentReady
事件从未触发。
所以确实是 XContentReady
没有开火导致了这个问题。
我没有添加触发事件的混合:
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
}
}
});