构建大型jQuery应用

原文:http://addyosmani.com/blog/large-scale-jquery/

1.依赖管理

目前常用的script loader主要有两个,RequireJS (by James Burke) 与LabJS (by Kyle Simpson)。有些人会认为这其中一个会比另一个要好,但事实上他们各自有各自的特点。以我的经验来讲,RequireJS的特性之一是提供结构化模块的支持,而LabJS更适合不需要额外特性或者需要轻量级库的时候。

如果你想知道更多关于如何选择 RequireJS、LabJS,请看这里:http://msdn.microsoft.com/en-us/scriptjunkie/ff943568。如果这两个还不能满足你的需求,你还可以看看下面的内容。

解决方案:

RequireJS – 如果你期望你的代码更加模块化,我强烈推荐它。它会试图限制模块对全局命名空间的影响,并使得依赖更加明确。同时它还提供一个优化工具,帮助你合并压缩脚本 - http://requirejs.org/docs/jquery.html

LabJS – 如果你需要按照一定的顺序高效的加载脚本,或者你正在寻找比RequireJS更轻量级的框架,或者你对模块化依赖管理根本不感兴趣,那么你不妨试试LabJS。 – http://www.labjs.com (Alex Sexton 还在LabJS的基础上开发了条件化的loader,YepNope JS - http://www.yepnopejs.com)

StealJS – 又一个非常棒的依赖管理工具。Steal是 JavaScriptMVC框架的一部分,不过你可以单独使用它。它也提供了合并、压缩、清理等功能。 – http://jupiterjs.com/news/stealjs-script-manager

JSL Script Loader – 提供了加载、防重复加载、缓存等功能。但是它的用户也许没有LabJS、RequireJS那么多 – http://www.andresvidal.com/jsl

Bootstrap – 它的功能很少,但足以完成任务。如在你在寻找一个最小的没有任何多余功能的解决方案,那么也许它是最合适的。 – https://bitbucket.org/scott_koon/bootstrap

2.MVC&管理大型jQuery应用

软件工程中的设计模式、架构模式可以让你创建可重用的,结构化的,更具组织性的代码。我认为在开发中使用设计模式是必要的,尤其当你需要确保团队编写的代码的风格和结构是一致的时候。