3.2 搭建增量更新服务器

单有客户端没有服务器的示例是跑不起来的,服务器的搭建非常简单,只有两个步骤,第一步是把服务器打开,第二步就是把资源文件放到服务器下。

这里使用nginx来搭建热更新服务器,nginx是一个高性能的跨平台HTTP服务器,非常小巧,可以从nginx的官网下载,解压后直接执行nginx的可执行文件即可,下载网址为http://nginx.org/en/download.html。可以从官网下载nginx,下载之后启动服务器,在浏览器中输入http://localhost/,可以看到nginx的欢迎页面,如图3-1所示。

图3-1 nginx服务器

接下来按照Manifest的规则手写Manifest文件,然后将资源和Manifest文件直接放到nginx解压目录下的html目录中,如放到html目录下的test目录中,然后就可以通过localhost访问目录中的内容。我们将下面这段内容保存为project.manifest文件,放到客户端的资源目录下,然后将Manifest文件的version字段和资源的md5字段修改成1.0.1和1234(可以随意修改,只要和原先的不同即可),将修改后的project.manifest放到服务器html目录下的test目录中,并在test目录中新建一个Images目录,将新的background1.jpg放入。

        {
            "packageUrl" : "http://localhost/test/",
            "remoteManifestUrl" : "http://localhost/test/project.manifest",
            "version" : "1.0.0",

            "assets" : {
              "Images/background1.jpg" : {
                  "md5" : "123"
              }
            },
            "searchPaths" : [
            ]
        }

准备好了新版本的资源,启动服务器后首次运行示例程序会自动进行热更新,之后可以通过删除下载路径来清理更新的资源,从而重新测试热更新。由于热更新的功能基本是通用的,需求也是大同小异,区别只在于更新的资源不同,所以示例中的代码稍加改动可以直接应用于实际项目中。