单页web应用(single page web application,SPA),就是只有一张web页面的应用,是加载单个HTML页面并在用户与应用程序交互时动态更新该页面的web应用程序。
浏览器一开始会加载必需的HTML、CSS和Javascript,所有的操作都在这张页面上完成,都有javascript来控制。因此,对单页面应用来说模块化的开发和设计显得相当重要。
一、特点:
速度:更好的用户体验,让用户在web app感受native app的速度和流畅。
MVC:经典MVC开发模式,前后端各负其责。
ajax:重前端,业务逻辑全部在本地操作,数据都需要通过AJAX同步、提交。
路由:在URL中采用#号来作为当前视图的地址,改变#号后的参数,页面并不会重载。
二、HTML容器管理
1、HTML管理原理
SPA项目的HTML结构与传统的HTML结构有非常不同的差异:
① 传统的HTML是将所有的HTML写在.html文件里。然后通过DOM方法在JS中进行操作。
② SPA项目中,为了保证每个UI模块的独立性,HTML结构被以模块的形式打碎分别放置在各个UI模块中。HTML以字符串的形式存放在子模块configMap.main_html中。当子模块接收到父模块传递过来的容器后通过$container.html(configMap.main_html);将子模块HTML结构载入到容器模块中。这样就完成了子模块HTML的加载。
参考来源:http://www.imooc.com/article/14257
http://www.searchsoa.com.cn/showcontent_81256.htm