Ember预渲染:TypeError:'undefined'不是函数(评估'u.bind(e)')

时间:2015-11-24 13:55:08

标签: ember.js prerender

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

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

但是当我尝试启动时:

[Renderer 0] Engine starting up (phantom)
[Renderer 0] Restarting rendering engine in 25000 seconds after it failed
             with error: Phantom encountered an error: TypeError: 
             'undefined' is not a function (evaluating 'u.bind(e)') 

我不确定在哪里看。我试过了:

  • 删除所有第三方SDK(Facebook,Google Analytics)
  • 记录代码的不同部分(事件XContentReady似乎被触发)
  • 使用引擎jsdom而不是phantom启动(给出:[Renderer 0] Restarting renderer, timed out while initializing
  • 尝试制作

我不知道现在在哪里看。最糟糕的是,我几天前就开始工作了(参见:Ember pre-render: timed out while initializing

编辑:

我不认为这个问题与代码有任何关系,因为我对以前工作的版本进行了硬重置。

  • 也许某些版本发生了变化(bower,npm,phantom)?我试图将凉亭更新为1.6,但没有成功。
  • 也许我有新的依赖项会导致问题?虽然
  • ,但我没有看到

EDIT2:我在一台新服务器上刚刚开始,现在我得到了Phantom崩溃的错误消息:

[Renderer 0] Restarting rendering engine in 25000 seconds
after it failed with error: Erroneous exit code: null SIGSEGV

如果我使用JSDOM,我仍然会得到Restarting renderer, timed out while initializing

编辑3:我试图在我的应用程序中包含一个polyfill。使用:

  • github.com/es-shims/es5-shim
  • 然后作为插件:github.com/pixelhandler/ember-cli-es5-shim

没有成功

编辑4:我在一个全新的项目中遇到了同样的错误,只包含了ember-prerender,所以我认为它要么链接到我的特定版本(version: 1.13.13, node: 0.12.3, npm: 2.14.10, os: linux x64),要么我的计算机软件包/配置。

1 个答案:

答案 0 :(得分:1)

我没有jsdom的经验,但phantomjs@1.9及更低版本不支持three。你试过phantomjs@2.0吗?