0

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

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

但这似乎在development.js脚本尝试发送获取app.json文件时引发错误。我必须为离线模式调整一些煎茶设置吗?谢谢您的帮助。

4

2 回答 2

2

经过一番寻找,Sencha Touch 2.0 中似乎存在此功能,但仍然有点不完整。要使其工作,请执行以下操作:

  1. 您必须安装 Sencha 命令行(您可能已经安装了,因为首先需要它来创建 Sencha 项目)。

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

  3. 使用sencha app build production命令将您的项目“编译”成单个文件

  4. 导航到您的生产目录YourApp/build/YourApp/production

  5. cache.appcache更改 to的扩展名cache.manifest

  6. 编辑index.html文件的html标签,以便manifest="cache.manifest"

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

现在您的生产代码应该有一个有效的缓存清单。请注意,您只需要更改扩展程序,以便应用程序在 iOS 上运行,它似乎可以在浏览器(或至少在我测试过的 Chrome)中使用.appcache扩展程序。

编译到生产似乎是生成缓存清单文件的唯一方法,但如果您不希望所有代码都被压缩以进行调试,则可以在测试版本中使用相同的文件。当然,您必须复制您的清单并确保它在您的测试版本的html标签中被引用。

总而言之,Sencha 显然需要在这里更新他们的文档,但我很高兴我发现了这一点。我只用一个超级基本的、静态的、两页的应用程序对此进行了测试。希望它可以体面地扩展。

于 2013-07-31T20:13:57.090 回答
0

而不是手动更改您的生产包,您应该在“appCache”之后更改 app.json 行。这是 Sencha CMD 将生成的内容,并且在运行 sencha 应用程序构建生产后可以正常工作。

你可以在这里看到一个活生生的例子https://github.com/flrent/ConfMate/blob/master/app.json#L79

于 2013-08-06T01:28:52.150 回答