我们有一个使用node,nginx和prerender.io的角度SPA。我们的主页设置为唯一的URL(即www.foo.com/bar),在我们的路由中,此主页捕获所有未经特别路由的根相对URL的默认重定向。
我们的问题是:根网址www.foo.com或www.foo.com/带回谷歌和Facebook的空白页面。我们的索引是一个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>
此外,我们尝试了其他解决方案,但没有取得积极成果:
注意:在写这个问题时我发现将家庭路由更改为'/':
.when('/', {
templateUrl: '/views/foo-bar.html',
title: ‘Foo Bar',
pageDescription: ‘Lorem Ipsum Foo Bar'
})
.
.
.
.otherwise({
redirectTo: '/'
});
如果改为这样,家庭刮痕仍显示为空白?这与js重定向问题基本相同,但字符较少?
答案 0 :(得分:0)
您需要设置window.prerenderReady
变量。因此,将它放在路由控制器中:
window.prerenderReady = false;
...这在你的控制器的成功回调函数中:
window.prerenderReady = true;
答案 1 :(得分:0)
不久前我遇到了同样的问题。
您是否存在prerender.io无法运行的代码片段?
就我而言,我正在使用platform.js(https://github.com/bestiejs/platform.js/),并且正在我的appComponent.ts中进行了有关“ platform.name”的测试。这在Prerender.io中不存在,我得到的是空白页。