我目前正在使用Sencha Touch 2.2.1,我正试图让它使用HTML5 cache.manifest
离线运行。任何人都知道如何让这个工作?我只能找到上一版本的旧指南,这些指南似乎不再起作用。经过一番摆弄后,我的表现如下:
CACHE MANIFEST
index.html
app.js
touch/microloader/development.js
但是当它尝试发送获取development.js
文件时,这似乎会在app.json
脚本中抛出错误。我是否需要为离线模式调整一些Sencha设置?谢谢你的帮助。
答案 0 :(得分:2)
在一些狩猎之后,似乎Sencha Touch 2.0中出现了这个功能,但仍然有点不完整。要使其工作,请执行以下操作:
您必须安装Sencha命令行(您可能已安装) 因为它需要在中建立一个Sencha项目 第一名)。
在命令行中导航到项目的父目录
使用sencha app build production
命令将项目“编译”到一个文件中
导航到YourApp/build/YourApp/production
将cache.appcache
的扩展名转换为cache.manifest
修改index.html
文件的html
代码,以便manifest="cache.manifest"
确保您的服务器配置为正确提供.manifest
个文件
现在您的生产代码应该有一个工作缓存清单。请注意,您只需要更改扩展程序以便应用程序在iOS上运行,它似乎可以在.appcache
扩展名的浏览器(或至少我测试过的Chrome)中使用。
编译生产似乎是生成缓存清单文件的唯一方法,但如果您不希望所有代码都缩小以进行调试,则可以在测试版本中使用此相同文件。当然,您必须复制清单并确保在测试版本的html
标记中引用它。
总而言之,Sencha显然需要在这里更新他们的文档,但我很高兴我发现了这一点。我只用一个超级基本的静态两页应用程序来测试它。希望它能够很好地扩展。
答案 1 :(得分:0)
您应该在'appCache'之后更改app.json行,而不是手动更改生产包。以下是Sencha CMD将生成的内容,并且在运行sencha app build production之后可以正常工作。
您可以在此处查看实时示例https://github.com/flrent/ConfMate/blob/master/app.json#L79