单页web应用(single page web application,SPA),就是只有一张web页面的应用,是加载单个HTML页面并在用户与应用程序交互时动态更新该页面的web应用程序。javascript
浏览器一开始会加载必需的HTML、CSS和Javascript,全部的操做都在这张页面上完成,都有javascript来控制。所以,对单页面应用来讲模块化的开发和设计显得至关重要。html
1、特色:前端
速度:更好的用户体验,让用户在web app感觉native app的速度和流畅。java
MVC:经典MVC开发模式,先后端各负其责。web
ajax:重前端,业务逻辑所有在本地操做,数据都须要经过AJAX同步、提交。ajax
路由:在URL中采用#号来做为当前视图的地址,改变#号后的参数,页面并不会重载。后端
2、HTML容器管理浏览器
一、HTML管理原理app
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