背景:
我正在从服务器加载我的整个AngularJS Cordova/Ionic网络应用程序。这真太了不起了。我可以在不通过Apple的情况下更改应用程序。AngularJS,Cordova/IonicFramework:从服务器加载index.hml
问题:
Q1)如何使用js-files.zip,从服务器加载,在我的index.html文件? Q2)如何有效地从我的服务器加载index.html启动逻辑?
问题:
在一些旧设备,加载时间过长,如果我从我的服务器加载我所有的.js文件,所以我希望能够配置逻辑(index.html中)也从服务器。
我不是从服务器上加载的唯一的事情就是index.html的
这样的内容,从服务器哪能基本负荷的index.html?
如果我尝试这样做,
1)拉动,也就是说,indexfromserver.html使用AJAX和做的index.html的HTML重写与文件撰写(RES),然后有AngularJS问题:
例如,模块缺失错误(以下* 1),这是因为以下不是index.html中直到Ajax响应重写的index.html后:
<body ng-app="myapp" ng-controller="MainCtrl">
1.1)我可以包括在初始必要的模块本地index.html,但如果我重写index.html,我会得到这些错误/警告关于classList null在离子(问我的细节),deviceready没有被解雇,并angularjs加载不止一次
2)我可以重定向index.html,比如indexfromserver.html,但那么我所有的$ http响应被拒绝承诺。
关于2)我被告知我应该能够为indexfromserver.html添加一个控制器或者指定$ urlRouterProvider.otherwise('/ app/indexfromserver');
这并没有解决被拒绝的$ http请求。
我不明白index.html是如何使$ http正常工作的,因为它没有控制器,也不是提供的'否则'路线。到目前为止,我只能在config.xml中看到index.html的提及。
请求:
有人可以请张贴一个典型的例子是如何的AngularJS科尔多瓦/离子应用可以有效地利用这是一个从服务器加载index.html的逻辑的片断?
否则,有人可以显示/解释是否/如何从服务器使用js-files.zip,并解压并在index.html中使用?
详情/备注:
(* 1) 未被捕获的错误:[$注射器:modulerr]未能实例模块的myapp由于: 错误:[$注射器:NOMOD]模块 'MyApp的' 不可用!您拼错了模块名称或忘记加载模块名称。如果注册模块确保您指定依赖关系作为第二个参数。 http://errors.angularjs.org/1.2.17/ $ injector/nomod?p0 = myapp
这是不正确的。您当然可以从zip加载文件,解压缩它们,并在您的应用中使用它们。 :-D stuk.github.io/jszip/ – Agamemnus 2014-10-18 21:44:41
够公平的看起来你可以在技术上做到这一点,但这不是我会考虑做的事情。似乎有很多限制,它增加了处理解压缩的开销,甚至不支持压缩。 – 2014-10-20 04:43:23
呃,压缩文件做压缩。而且没有任何理由不能预先缩小。无论如何,您必须确保Cordova应用程序使用您的方法缓存文件。 (如果互联网不可用,并且它不是仅限互联网的应用程序) – Agamemnus 2014-10-20 19:07:44