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/
   414   415   416   417   418   419   420   421   422   423   424