2012-04-26 3 views
3

Очень грустно, что я должен задать этот вопрос в апреле 2012 года, но я знаю довольно мало подходов к проблеме.Рекомендации по разрешению статистически зависимых от JavaScript

Итак, я хочу инструмент для статически скомпилировать файлы javascript, разрешая зависимости. Чтобы быть более точным, я хочу такой инструмента (давайте назовем его sometool), который может сделать следующее:

  • просканировать папку, найти все *.js файлов
  • разбор этих файлов и найти некоторые очень простой синхронного и 100 % js-compliant. Синхронным я имею в виду, что нет такой вещи, как передача обработчика onload - это только предварительная обработка статического текста. На 100% js-compliant я имею в виду, что это выглядит как комментарий с точки зрения js - что-то вроде // @include
  • разрешает пути, используемые в директиве include, с использованием некоторой конфигурации , которую можно настроить.
  • Замена всех включает в себя реальный выход и помещает его в отдельную папку.

Я понимаю, что все это кажется очевидным для большинства из вас, но javascripters в настоящее время понимают, что-то немного другое время разговора об управлении зависимости - см require.js, например.

ответ

3

Вы должны взглянуть на sprockets. Он может связывать и упаковывать файлы JavaScript и включает в себя поддержку. Возможно, вам придется написать код шаблона. Кажется, что скрипт позволяет запускать звездочку из командной строки в комплекте с ней. И это в Руби. Не знаю, если это проблема.

+0

это то, что нужно проверить прямо сейчас) – shabunc

+0

проверял его, и это именно то, что я ищу. Спасибо за совет. – shabunc

2

Там на самом деле один ответ, его имя: Apache ANT

ANT как Сделать, является инструментом, который может сделать практически любую работу за вас. Конкатенация файлов, удаление, чтение файлов/сгибов, минифинирование и т. Д. И т. Д. Инструкции выполняются с помощью .xml файлов, многие задания уже присутствуют, но, конечно, вы можете написать свои собственные работы.

Таким образом, у вас может быть совершенный статический процесс сборки . Лично я использую его на основе severval. Посмотрите как пример: https://github.com/jAndreas/typeof-NaN-2.0/tree/master/build

Я не разрешаю зависимости javascript так, как вы описали, но я делаю это с зависимостями в таблице стилей (заменяя @import строк фактическими файлами). Таким образом, довольно простая задача сделать то же самое с файлами javascript. Кроме того, последний шаг в этих сценариях сборки заключается в том, чтобы скопировать свежие сгенерированные файлы в мой каталог Apache, его действительно один статический процесс сборки, и все готово.

Не бойтесь размера файла, я изменил существующий файл конфигурации с плиты котла HTML5. Я мог бы уменьшить размер файла до 10%, удалив все дополнительные сборки.

+0

@limelights: Я согласен, но OP явно постановил это. – jAndy

+0

@jAndy, спасибо за этот ответ. Я с трудом представляю простой, готовый к использованию способ использования муравья для создания js.ссылка, которую вы предоставили, не отговаривает меня))) – shabunc

+0

Хорошо, комментарий удален! :) –

Смежные вопросы