Angularjs ui路由器预加载应用程序(全部或部分)

Angularjs ui路由器预加载应用程序(全部或部分),angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在开发的应用程序使用angular.js+ui路由器+引导。许多状态和嵌套视图。还有一些与模板相关的图像,最后是放置在那里的动画过渡,以产生流动性的感觉 在理想的网络条件下,应用程序运行良好 在恶劣的网络条件下,它是不好的。有时动画会闪烁,有时用户操作和界面响应之间会暂停。例如:动画的开始。流动的感觉是无法实现的 当ui路由器改变其状态时,应用程序似乎锁定或轻弹动画,或者出现突然跳转时,就会注意到这些问题 由于其地理位置,应用程序将从带宽有限的设备上使用 我可以预加载全部或部分应用程序,包括

我正在开发的应用程序使用angular.js+ui路由器+引导。许多状态和嵌套视图。还有一些与模板相关的图像,最后是放置在那里的动画过渡,以产生流动性的感觉

在理想的网络条件下,应用程序运行良好

在恶劣的网络条件下,它是不好的。有时动画会闪烁,有时用户操作和界面响应之间会暂停。例如:动画的开始。流动的感觉是无法实现的

当ui路由器改变其状态时,应用程序似乎锁定或轻弹动画,或者出现突然跳转时,就会注意到这些问题

由于其地理位置,应用程序将从带宽有限的设备上使用

我可以预加载全部或部分应用程序,包括图像和其他资产吗

如果您还没有这样做,您可以连接和缩小所有JS&CSS资产。我使用grunt neuter进行依赖关系管理。您还可以使用grunt usemin将所有依赖库捆绑在一起

我没有尝试将所有模板捆绑到一个文件中,但这也应该是可能的。在这种情况下,您可以将每个模板包装在块中,将所有内容都放在DOM中,然后取出各个模板并提供给每个路由。这应该完全消除闪烁

对于图像资产,有grunt插件,比如grunt spritefiles,它获取一组图像并创建一个sprite,然后可以在CSS中使用

这些是我能想到的一些技巧。但是,上述情况会显著增加首次负载。对于您正在描述的用例,它可能是可以接受的。希望这有帮助