Javascript 带有prerender.io的nginx/angular/node.js根URL

Javascript 带有prerender.io的nginx/angular/node.js根URL,javascript,angularjs,node.js,nginx,url-routing,Javascript,Angularjs,Node.js,Nginx,Url Routing,我们使用node、nginx和。我们的主页被设置为一个唯一的url(即www.foo.com/bar),在我们的路由中,此主页捕获所有根相对url的默认重定向,而不是专门路由 我们的问题是:谷歌和Facebook的根url www.foo.com或www.foo.com/返回时会出现一个空白页面。我们的索引是一个ng include基本模板,所有页面都插入其中,因此返回根url时没有任何真正的html正文内容是有意义的。索引中的主html: <div class="st-content"&

我们使用node、nginx和。我们的主页被设置为一个唯一的url(即www.foo.com/bar),在我们的路由中,此主页捕获所有根相对url的默认重定向,而不是专门路由

我们的问题是:谷歌和Facebook的根url www.foo.com或www.foo.com/返回时会出现一个空白页面。我们的索引是一个ng include基本模板,所有页面都插入其中,因此返回根url时没有任何真正的html正文内容是有意义的。索引中的主html:

<div class="st-content">
  <div ng-view="" class="main-content" id="mainView"></div>
  <div ng-include="'/views/footer.html'"></div>
</div> 

如果更改为此,主刮片是否仍显示为空白?这不是基本上相同的js重定向问题,但字符更少吗

您需要设置
窗口.prerenderReady
变量。因此,请将其放在路线控制器中:

window.prerenderReady = false;
。。。在控制器的成功回调函数中:


window.prerenderrady=true

不久前我遇到了同样的问题

您是否有prerender.io无法运行的代码片段


在我的例子中,我使用了platform.js(),并在我的appComponent.ts中做了一个关于“platform.name”的测试。这在Prerender.io中不存在,我得到的是一个空白页。

如果nginx配置为对
foo.com
www.foo.com
上的所有请求使用
index.html
进行响应,我就不知道。它是?顺便问一下,你在使用HTML5模式吗?你能给我发一个实际的URL吗?我很乐意测试它,看看那里发生了什么,以确保一切都设置正确。todd@prerender.io@丹姆。Nginx配置为对所有到foo.com的请求进行301重定向。然后将www.foo.com代理到node.js。Strace ing nginx和node显示nginx适当地代理到节点服务器,此时我们可以看到节点请求和响应。另外,我们正在使用HTML5模式。这听起来是对的。当你说“空白”页面刮擦时,你是指一个空的索引还是没有动态内容的角度索引?@DanM。谢谢你的评论。“空白”是指没有动态内容的角度索引。我们正在索引中使用元片段。。。至于prerender,prerender的Todd一直在给我们发电子邮件询问设置问题。一旦我们解决了这个问题,我将分享反馈
window.prerenderReady = false;