关于单页面应用的一些思考。
当我们使用JS框架如(AngularJs)打造单页面应用时,在享受其带来的好处时,通常会遇到如下的问题:
1、首次进入会有白屏等待渲染的时间,不利于用户体验。
2、 糟糕的搜索引擎优化和社交网站分享预览。
3、需要等待所有模版与组件在浏览器端载入完成后才能开始渲染,无法即开即看。
4、前后端模版语言不相通。
本实例重点关注以上几个问题。
1、本实例使用Handlebars模版引擎解决前后端模版语言不相通,使用Grunt自动生成供浏览器使用的编译后的Handlebars模版。
2、首次访问时使用服务器端渲染模版,以后每次打开站内链接或点击浏览器的前进、后退时从服务器获取Json数据并在浏览器端渲染模版。
3、前端使用Requirejs及Knockoutjs实现模块管理及MVVM框架。
注意:使用前请先安装Grunt,并运行grunt
caofb / mehrk Goto Github PK
View Code? Open in Web Editor NEWMEHRK (Mongo, Express, Handlebars, Require,Knockoutjs),一个简单的单页面应用实例。