有多种方法,最明显的两种是:
- 构建一个像 YUI 这样的工具,它会根据您根据需要勾选的组件构建一个定制的、独特的版本,这样您仍然可以将文件作为静态文件提供。MooTools 和 jQuery UI 在你下载他们的包时都提供了这样的包构建器,为你提供最精简和最有效的库。我确信那里存在通用的通用工具。
- 创建一个简单的 Perl/PHP/Python/Ruby 脚本,根据请求提供一堆 JavaScript 文件。因此,“onerequest.js?load=ui&load=effects”将转到一个 PHP 脚本,该脚本加载文件并为它们提供正确的内容类型。有很多这样的例子,但我个人不是粉丝。
我不喜欢通过任何类型的脚本来提供静态文件,但我也喜欢用大约 10 个单独的小类文件来开发我的代码,而不需要 10 个 HTTP 请求的成本。所以我想出了一个自定义构建过程,它结合了所有最常见的类和函数,然后将它们缩小到像 project.min.js 这样的单个文件中,并且在我的所有视图/模板中都有一个条件,包括生产中的这个文件。
编辑——“自定义构建过程”实际上是一个极其简单的 perl 脚本。它读入我作为参数传递的每个文件,并将它们写入一个新文件,可选地通过JSMIN自动传递整个文件(可用于所有您喜欢的语言)。
在命令看起来像这样:
perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js