Page 419 - AngularJS权威教程
P. 419
30.9 Prerender.io 399
设置好这个任务之后,可以对我们的站点做一些配置。为了设置这些配置,需要在Gruntfile.js 19
中创建如下新配置块:
htmlSnapshot: { 20
debug: {
options: {}
},
prod: { 21
options: {}
}
} 22
现在就可以为不同的阶段添加首选项了:
23
htmlSnapshot: {
debug: {
options: {
snapshotPath: 'snapshot/', 24
sitePath: 'http://127.0.0.1:9000/',
msWaitForPages: 1000,
urls: [ 25
'/',
'/about'
]
} 26
},
prod: {
options: {} 27
}
}
要查看所有可用的配置选项列表,可参考如下文档:https://github.com/cburgdorf/grunt-html- 28
snapshot。
29
30.9 Prerender.io
①
此外,我们还可以使用开源的工具,比如Prerender.io ,它包含一个在运行时渲染站点的Node 30
服务器,和一个与后端通讯在运行时预渲染HTML的Express中间件。
31
本质上,prerender.io接受一个URL,然后返回渲染后的HTML(不带script标签)。实质上,
它会从应用中像这样调用我们部署的预渲染服务器:
32
GET http://our-prerenderserver.com/ http://localhost:9000/#/about
这个GET会返回#/about页面渲染后的内容。
33
设置一个prerender集群实际上很容易做到。此外,我们还会展示如何将自己的预渲染服务器
集成到Node应用中。Prerender.io还可以通过一个叫做prerender_rails的gem支持Ruby on Rails,
但是在这里我们不会介绍如何设置它。 34
设置自己的服务器来运行它相当容易。只需运行npm install来安装依赖,然后通过Foreman
或者Node运行以下命令就行了: 35
—————————— 36
① http://prerender.io/