启用S​​encha Touch 2.2.1离线

时间:2013-07-31 18:26:43

标签: extjs sencha-touch cache-manifest

我目前正在使用Sencha Touch 2.2.1,我正试图让它使用HTML5 cache.manifest离线运行。任何人都知道如何让这个工作?我只能找到上一版本的旧指南,这些指南似乎不再起作用。经过一番摆弄后,我的表现如下:

CACHE MANIFEST
index.html
app.js
touch/microloader/development.js

但是当它尝试发送获取development.js文件时,这似乎会在app.json脚本中抛出错误。我是否需要为离线模式调整一些Sencha设置?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

在一些狩猎之后,似乎Sencha Touch 2.0中出现了这个功能,但仍然有点不完整。要使其工作,请执行以下操作:

  1. 您必须安装Sencha命令行(您可能已安装) 因为它需要在中建立一个Sencha项目 第一名)。

  2. 在命令行中导航到项目的父目录

  3. 使用sencha app build production命令将项目“编译”到一个文件中

  4. 导航到YourApp/build/YourApp/production

  5. 中的生产目录
  6. cache.appcache的扩展名转换为cache.manifest

  7. 修改index.html文件的html代码,以便manifest="cache.manifest"

  8. 确保您的服务器配置为正确提供.manifest个文件

  9. 现在您的生产代码应该有一个工作缓存清单。请注意,您只需要更改扩展程序以便应用程序在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