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

Nic*_*orr 5 prerender ember.js

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

我安装了ember-prerender(https://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)') 
Run Code Online (Sandbox Code Playgroud)

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

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

我不知道现在在哪里看.最糟糕的是我几天前就开始工作了(参见:Ember预渲染:初始化时超时)

编辑:

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

  • 也许有些版本改变了(bower,npm,phantom)?我试图将凉亭更新到1.6,没有成功.
  • 也许我有新的依赖导致问题?我不知道究竟是怎么回事

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

[Renderer 0] Restarting rendering engine in 25000 seconds
after it failed with error: Erroneous exit code: null SIGSEGV
Run Code Online (Sandbox Code Playgroud)

如果我使用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),要么是我的计算机包/配置.

Gar*_*hey 1

我没有使用 jsdom 的经验,但Function.prototype.bindphantomjs@1.9 及更低版本不支持。你试过phantomjs@2.0吗?