首页 > 在使用sea.js的过程中该怎么拆分模块呢?

在使用sea.js的过程中该怎么拆分模块呢?

是以类为单位还是以对象为单位?


当然是以类为单位,每个模块实现一个功能,按照功能划分模块,见文档:

划分模块

合并之前,要划分下资源。项目里的js,可按照以下划分

按照使用调用情况分:必加载组件、绝大地方都使用的组件、只有几个页面使用到的js、一个页面对应的js
按照业务分:基础、标准组件(比如弹出窗,backbone跟业务无关的)、业务组件、页面Js。
综合考虑,我们将结构分成如下,并采用业务命名区分

基础模块:所有的页面都需要,弄成一个请求,script标签引入。采用合并或者combo请求,比如jquery json2

标准模块:外面引入的插件,自己写的插件,比如backbone,dialog

业务模块:少数页面用到的业务Js,比如wifi

页面模块:页面对应的Js,比如add2.jsp对应的是add.js的入口。

合并时,页面模块合并了业务模块;标准模块之间不合并,其它页面用到相同标准模块时,读取缓存;基础模块合并后被所有页面加载;标准模块内部各组件分别合并成一个js作为外部接口。

通用组件

通用组件,也就是上面的标准模块,合并压缩后,通过版本号更新网页缓存,它的构建流程跟页面级的js不一样。页面级js,通过别名引用通用组件。

【热门文章】
【热门文章】