Существуют различные способы, два наиболее очевидных из них:
- Создайте инструмент наподобие YUI, который создает уникальную версию, сделанную на заказ, на основе выбранных вами компонентов, чтобы вы могли по-прежнему использовать файл как статический. MooTools и jQuery UI предоставляют сборщикам пакетов вот так, когда вы загружаете их пакеты, чтобы предоставить вам наиболее удобную и эффективную библиотеку из возможных. Я уверен, что существует универсальный универсальный инструмент.
- Создайте простой скрипт на Perl / PHP / Python / Ruby, который обслуживает несколько файлов JavaScript на основе запроса. Таким образом, «onerequest.js? Load = ui & load = Effects» будет идти к сценарию PHP, который загружает файлы и предоставляет им правильный тип содержимого. Есть много примеров этого, но лично я не фанат.
Я предпочитаю не обслуживать статические файлы с помощью каких-либо сценариев, но мне также нравится разрабатывать мой код из 10 или около того небольших файлов классов без затрат на 10 HTTP-запросов. Поэтому я разработал собственный процесс сборки, который объединяет все наиболее распространенные классы и функции, а затем сводит их в один файл, такой как project.min.js, и имеет условие во всех моих представлениях / шаблонах, которое включает этот файл в производство.
Edit - «пользовательский процесс сборки» на самом деле является чрезвычайно простым Perl-скриптом. Он считывает каждый из файлов, которые я передал в качестве аргументов, и записывает их в новый файл, при желании автоматически пропуская все это через JSMIN (доступно на всех ваших любимых языках).
По команде это выглядит так:
perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js