找回密码
 注册

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 451|回复: 7

【讨论】对于大型的JS库,应该怎么编写或维护?

 [复制链接]
hutia 楼主

诘屈聱牙

244

主题

10

好友

2万

积分

荣誉管理

帖子
5856
威望
367
居住地
江苏省 苏州市
注册时间
2005-11-28
发表于 2012-5-21 11:14:03 |显示全部楼层

在JS函数库大到一定程度,例如5000行+的代码,其阅读和维护都比较难以控制。
而且常常想在应用的场合,最小化的引入需要的函数,而不是一股脑的全部包含进来。

我尝试过各种方法,例如编写模拟类和继承的方法,但是在代码少的时候还好,代码真正多起来的时候还是感觉不够理想。


想学习学习大家的做法,该怎么做才比较好?有没有谁有这方面的经验介绍介绍?

我是飘哥

253

主题

26

好友

4018

积分

金牌会员

帖子
2840
威望
0
居住地
广东省 珠海市 金湾区 三灶镇
注册时间
2011-6-9
发表于 2012-5-21 11:18:48 |显示全部楼层
用JS框架好不好?

Backbone+Underscore

自由天堂

61

主题

9

好友

2033

积分

银牌会员

帖子
534
威望
1
注册时间
2005-1-28
发表于 2012-5-21 11:31:04 |显示全部楼层
我的思路: 按功能的不同将JS划分为不同的文件分别存储,使用的时候一定要加载一个基类文件【包含必须使用的方法类以及一个动态加载文件的方法】
编程时根据自身功能需求加载不同的文件进来,可以很完美的做到按需加载;并且单独文件模式可以任意扩种功能模块,但模块与模块间不能有任何关联,只能与基类关联。

缺点:功能较多的页面需要加载的文件也相对较多【httpRequest较多】,但由于都是动态加载【异步】应该能缓解一些页面加载的速度
另外,编写人员的思路要足够清晰,必须知道自己需要什么功能的文件。

我是飘哥

253

主题

26

好友

4018

积分

金牌会员

帖子
2840
威望
0
居住地
广东省 珠海市 金湾区 三灶镇
注册时间
2011-6-9
发表于 2012-5-21 12:25:27 |显示全部楼层
https://github.com/alipay/arale                 //JQ+Seajs

这个项目不错,打造一个常用的类库。需要的时候再扩展,这样是不是也可以很好的管理?

JQ大部分人会用。如果你们自己有能力写,那不一定后面的人会接着来做。
coolicer.com
hutia 楼主

诘屈聱牙

244

主题

10

好友

2万

积分

荣誉管理

帖子
5856
威望
367
居住地
江苏省 苏州市
注册时间
2005-11-28
发表于 2012-5-21 12:41:10 |显示全部楼层
3235183 发表于 2012-5-21 11:31
我的思路: 按功能的不同将JS划分为不同的文件分别存储,使用的时候一定要加载一个基类文件【包含必须使用的 ...

我和你的思路一样。。。最大的问题就是因为增加了很多访问连接数,导致有时候会卡死。。。

50

主题

1

好友

635

积分

高级会员

帖子
129
威望
0
居住地
上海市
注册时间
2001-8-22
发表于 2012-6-24 00:51:56 |显示全部楼层
刚好看了一篇文章。
楼主是想说这个吗?
转自:http://www.qianduan.net/particle ... ascript-module.html
用In.js颗粒化管理、加载你的Javascript模块

近一年来,国内外都十分热衷于异步加载的研究,为了加快页面的载入速度,无阻塞加载Javascript的方法和框架成为了前端开发的焦点和亮点之一。



国外的像基于jQuery的RequireJs,YUI Loader,LabJs,RunJs,国内也有淘宝的SeaJs,豆瓣的DoJs等,这些都是一些十分优秀的模块加载器。但是本文将会向大家介绍一个新的开源的轻量级“多线程”异步模块加载器In.js,In的开发借鉴了Do的一些思路和使用习惯,在此期间感谢@kejun同我的耐心交流,In.js压缩后只有4.77k,不仅小巧而且十分好用。

优点:

按需加载
无阻塞加载
依赖关系管理
颗粒化模块管理
......

6

主题

1

好友

125

积分

初级会员

帖子
29
威望
0
居住地
辽宁省 沈阳市
注册时间
2012-2-7
发表于 2012-6-24 12:51:33 |显示全部楼层
Arale 很感兴趣 关注下
ecma 

请叫我草履虫

18

主题

21

好友

2468

积分

银牌会员

帖子
940
威望
3
居住地
福建省 福州市
注册时间
2007-5-9
发表于 2012-6-24 13:20:43 |显示全部楼层
玉伯做的东西差不多就是这个意思了

代码分模块写,用seajs组织(CommonJS)
上线按需打包压缩,用spm,spm说是这个月会出新版本,且看
=。=
您需要登录后才可以回帖 登录 | 注册


Archiver|手机版|blueidea.com ( 京ICP备05002321号   

GMT+8, 2012-11-30 11:44 , Processed in 0.206935 second(s), 14 queries , Gzip On, Memcache On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部