Prerender.io不caching页面

我用一个expressJS后端与AngularJS做了一个应用程序。 现在我想让它抓取,我发现prerender.io 。 我想我已经做了一切正确的bur由于某种原因,我没有看到prerenderer仪表板中的任何统计数据。

在我的app.configure函数中,我包含了如下的标记:

app.use(require('prerender-node').set('prerenderToken', 'my-token')); 

在我的HTML中,我已经包含了meta-fragment标签:

 <meta name="fragment" content="!"> 

我做的最后一件事是告诉AngularJS使用hashprefix:

 $locationProvider.html5Mode(false); $locationProvider.hashPrefix('!'); 

但由于某种原因,如果我参考文档,我不会得到正确的结果。 下面你可以看到它应该做什么:

Google会像这样向您的服务器发送请求:

http://www.example.com/?_escaped_fragment_=/user/123

你把这个url变成这个:

http://www.example.com/#!/user/123

由于某种原因,如果我尝试这个,它仍然添加#! 标志添加URL的末尾,所以如果我请求我的应用程序的URL像谷歌我得到这个:

http://www.my-website.com/?_escaped_fragment_=#!/home

所以它不会replaceurl中的散列。 我认为这是我的问题的原因。

提前致谢!

编辑 – 如果我例如添加一个额外的路线,那么它的作品:

 app.get('/', function (req, res) { res.sendfile('./public/index.html'); }); app.get('/test', function (req, res) { res.sendfile('./public/index.html'); }); 

'/'路线不起作用, '/test'路线不起作用。

好的,我解决了我的问题。 '/'路线从来没有被调用,因为我的webpublic文件夹中有一个index.html文件。 我将其重命名为public.html,并将'/'路线更改为获取此文件而不是index.html文件。

 app.get('/', function (req, res) { res.sendfile('./public/public.html'); });