我正在尝试使用以下命令构建我的生产应用程序。
sencha app build production
它在桌面浏览器上工作正常,但是当我要通过URL从iPhone Safari浏览器运行时,我收到了localstorage配额访问限制错误。我可以理解设备上的浏览器限制是5MB,但我没有在localstorage中保存单个实体但仍然出现此错误。
我调查的是当为生产构建sencha应用程序时,app.js保存在localstorage中,app.css也保存在localstorage中,这会消耗整个配额限制。
解决此问题的预期和优雅解决方案应该是什么?一种解决方案是从app.json中删除app.js remove并在index.html中显式添加它,但它看起来像一个KLUDGE。请建议任何解决方案。
答案 0 :(得分:1)
生产模式适用于生产服务器,当您在浏览器中打开它们时,会缓存javascript和css文件。你可以做一个不会在浏览器中缓存文件的sencha app build包。
该链接详细讨论了此问题http://andidog.de/blog/2012/07/dont-use-sencha-touch-production-mode-build-for-mobile/
答案 1 :(得分:0)
您可以通过app.json添加外部脚本,css文件和文件夹。从那里你可以配置如何线程化这些文件。
"css": [
{
"path": "resources/css/app.css",
"remote": true
}
],
或者您可以使用app.js
中的loader对象添加外部文件Ext.Loader.loadScriptFile()
除了包或主题之外的共享代码,比如您自己的框架文件/对象,也可以使用加载器对象添加
Ext.Loader.setConfig({
enabled: true,
disableCaching: false,
paths: {
'Resources': 'resources/translations'
}
});