假设您正在构建一个大型应用程序,并且您希望网站上有大量的JavaScript。即使你将javascript分成每页使用javascript的1个文件,你仍然会有大约100个javascript文件。
保持文件系统有条理的最佳方法是什么,在页面上包含这些文件,并保持代码结构本身的有序性?一直以来,都可以选择将产品缩小以进行生产。
答案 0 :(得分:8)
我个人更喜欢用于构造代码的模块模式,我认为本文给出了一个很好的介绍: http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth
它使我的全局范围保持干净,启用命名空间,并提供了一种分离公共和私有方法和字段的好方法。
我将代码组织在单独的文件中,并寻求保持低耦合和高内聚。虽然多个文件对客户端性能不利(您应该最小化请求数量),但您可以使用压缩实用程序轻松地从两个世界中获得最佳效果。
我对YUI Compressor有一些经验(有一个Maven插件: http://alchim.sourceforge.net/yuicompressor-maven-plugin/compress-mojo.html - 我自己没有用过这个)。如果您需要以某种方式订购javascript文件(也适用于CSS),您可以制作一个shell脚本,提前按给定顺序连接文件(提示:YUI Compressor默认为STDIN)。
此外,无论哪种方式,你决定缩小你的文件可能会做得很好。您的重点应该放在如何构建代码上,以便它在客户端上表现良好(应该是最高优先级以满足良好的用户体验),并且可以以适合您的方式进行维护。
你提到名称空间,这是一个好主意,但我要小心从传统的面向对象领域采用太多概念,而是学会利用javascript语言的许多优秀功能:)
答案 1 :(得分:5)
如果整体大小不是太大,我会使用脚本将所有文件编译成单个文件并缩小此文件。然后我会使用积极的缓存加上网址中的mtime,这样人们只能加载一次该文件,但只要有一个文件就可以获得新文件。
答案 2 :(得分:1)