directorjs和requirejs和artTemplate模板引擒创建的SPA框架

分为4块:
A : index.html壳子。    加载B  init-config.js,   加载D  header.html模板
B : init-config.js 我的信息+路由配置+权限+渲染单页。        加载C  navMenu.js
C: navMenu.js 处理头部+处理中间模板+总菜单。返回给B  init-config.js 
D: header.html模板。模板的做用,整个页面大部分除掉单页

css

A:Index.html:

一个空壳子,这个上面include进:header.html,   require.js,    init-config.js,   html

加进了全部的css,,,,配置了gulp打包的build,替换压缩后的文件,加入了百度统计gulp

 

B:init-config.js

这个配置了:浏览器

Require.js的配置config
路由的map( 键 和 path路径+permission),架构

拿用户信息接口,返回了用户角色,姓名,权限码,存全局变量ui

Director.jsinit方法,初始化路由spa

方法1,将路由map转化为对象,规则为:/aaa:function(){},-方法,,键方法对,组合规则是directors的用法设计

方法2,即路由键对应的执行方法,当浏览器地址栏出现某/hash值的时候,获取此hash的路由map条目,拿到permissioncdn

用户接口返回值判断是否登陆-----ssohtm

判断权限(permission与用户接口权限码,利用shiro-trie------403页,

去执行navMenujs拿到返回值-----》中间模板right。执行init方法(C模板介绍见后)

Ajax请求mappath路径的单页面,-------》渲染单页,根据right,是right.html(单页)

CommonBus.html(单页),这个根据页面挖空的结构来。

 

CnavMenuJs

配置全部工程的https//域名./

配置全部的菜单

清空container元素,移除全部监听

头部,登陆,退出,用户名,游客的显示处理,监听登陆/退出事件,-----sso/首页

渲染头部模板,根据默认总菜单

渲染中间模板

渲染中间模板根据方法X

方法X:根据init传来的hashwindow得来,拿到全部的一级菜单,二级菜单,三级菜单

Dheader.html

全部二级菜单即各个工程,全部的页面,

整个页面(头部导航+中间模板(面包屑+左侧三级菜单等等))大部分都是这里拼的模板

架构

NavMenu.js全部工程公用,配置了总工程的菜单总表

单个工程如:investorinit-config.js只配置本身的map路由表

每一个工程都有一个相同壳子A模块,每一个工程有一个域名,每一个工程有本身的路由表,每一个工程有init-configJs

 

即:A模块B模块各子工程具备本身的

C模块D模块公用,放cdn

C模块只做一个模块,define(‘C模块名’,【引用】,function(){};amd规范

D模块:公用,包括了各子工程的模板,nevMenu会根据哪一个工程,渲染哪一个工程的模板

头部导航几乎全部子工程能够公用模板。可是各子工程中间块设计不同,全部有各自的中间模板。

相关文章
相关标签/搜索