精华帖 (0) :: 良好帖 (18) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-21
dexter_yy 写道 啊,原来这里已经有人在讨论了啊
好巧……我正好在18号的D2前端技术论坛上介绍了相关的东西和我自己的一些实现,主题是《通用JS时代的模块机制和编译工具》,二楼提到的一些问题其实并不存在XD http://www.d2forum.org/d2/5/ 除了Kris Zyp的这篇文章,幻灯片里也给出了其他一些资料的链接 幻灯片和演讲稿:http://www.limboy.com/2010/12/19/module-and-compiler-for-common-js/ 发现这个话题还是很热门的,有些出乎我的预料(上周被关注了好多次 ) 这里整理一下我们项目用到的加载机制吧,以前都只是讨论,并未完整发出。 对于动态加载方面,我没研究过相关标准,开发时也没有找到理想的参照,都是由实际开发中的需求推动,最终演进出目前的模式: 独立依赖声明文件,与JS文件同名同路径,后缀不同 文件 <-> 模块 一一对应 (基于ExtJs,模块即组件的概念,有独立命名路径,能与路径进行相互转换) 程序汇总所有依赖数据 前端预加载依赖数据,一次计算到位并请求,服务器合并返回 异步加载,执行回调 调试模式下服务器计算依赖,以静态script加载 之前还和dojotookit在另外一个帖子里讨论过加载机制的问题,就目前的情况来说,以上方案是最符合我们项目实际需求的: 1. 独立依赖声明,使得汇总程序容易编写,而按前面说的规范来,还需要从JS代码中解析读取,难度不小(至少对我来说)。 2. 我们使用的ExtJs库并未按此标准来 3. 我们的应用领域是浏览器端动态加载,项目也属于私有,没有必要遵循什么规范。因为这些模块只是基于自己的架构,本来就不是通用的,也就无所谓统一了。(Node.js属于服务端技术,不存在并行串行加载问题,也不用汇总程序。Dojo作为通用框架,本身就已经是此规范了,采用它也理所当然) 还是前面说的那句话,没有万能的解决方案 P.S. 其实我觉得,对于前端来说,更关注的还是加载方案的可行性、可维护性及性能方面,对于通用(common),应该没人关注吧? 绝大多数都是基于某个JS库开发,没有日后移植/通用的可能性。 |
|
返回顶楼 | |