sea.js一个模块一个文件,那在大项目里面不是存在着上百个js文件?

YOUTH_WYH 2016-10-30 01:28:36
最近在研究sea.js,说5分钟入门,又看了几个简单的例子,觉得好简单,迫不及待的想使用它在我的项目上,于是就找了个以前的项目练手,但是当我使用起来的时候就发现了好多坑,既然学了,就不能放弃,只能一个个去填坑了。
以下是我的其中一个问题:
我旧的项目都是用传统的<script>引入js的,不管插件也好,公共函数也好,每个页面的js也罢,通通需要时就给我全引入。因为我是一个页面一个js,整个页面的功能全写在对应的js上面的,所以有的页面复杂的话,对应的js文件会封装几十个function(),虽然多,但是命名很规范,也没出错。
当我使用sea.js的时候问题就来了,因为sea.js 是按需加载,我是不是把每个function都独立封装成一个模块?通过exports暴露出来,给需要的其他js文件require进来,那样子不是有几十个js文件?那好,我不这样做,把封装好的define模块全放在同个文件,就像合并后的效果,一个js 里多个define,但是这样是不是违背了按需加载的原理了?我只要其中一个功能,却还是加载了大量多余的代码,而且这样和我用旧的传统写法没区别啊,引用一个大js,调里面的功能。
然后就是,比如我某个功能依赖我的公共文件,因为我的common.js封装了很多公用的方法,方便每个页面调用,也最少十几个公用方法吧。传统做法当然在需要的页面引入common.js,这样页面js就能调用依赖方法了。当我用sea.js处理common.js的时候又蒙了,还是同个问题,我该去怎么处理这十几个方法?
越做我就觉得越坑,我知道是我对它的用法不理解,求大神指导下我,一下子我还领悟不到它的精髓所在。
...全文
262 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧