Упаковщик и минификация ColdFusion

Я ищу упаковщик/минимификатор для использования на моем сайте ColdFusion. Я искал больше часа и нашел только подходящий плагин для cfWheels. К сожалению, на данный момент мы привязаны к framework-one, поэтому не можем использовать этот подключаемый модуль.

Может ли кто-нибудь порекомендовать средства для связывания и минимизации наших js/css с ColdFusion FW1?

Я думаю о «заимствовании» у сборщика asp.net System.Web.Optimization, но мне это кажется излишним.

Спасибо!


person Brandon Osborne    schedule 21.10.2014    source источник
comment
Вы видели CFStatic (github.com/DominicWatson/cfstatic)? Делает все это и многое другое.   -  person Carl Von Stetten    schedule 21.10.2014
comment
CFStatic хорош, но я никогда не чувствовал тепла и пуха от его использования - кажется, минимизация файлов JS и CSS - это не то, чем CF должен заниматься. Я использую узел с grunt для минимизации по мере обновления файлов. У меня есть код, который загружает «сырые» файлы, когда я передаю параметр URL, чтобы помочь мне отладить, когда это необходимо.   -  person Scott Stroz    schedule 21.10.2014
comment
Какой веб-сервер вы используете? Я использую IIS и использую IISpeed ​​(PageSpeed ​​для IIS) для автоматического объединения и минимизации файлов JS/CSS без необходимости изменять какой-либо код в каких-либо проектах. Оптимизация выполняется веб-сервером после завершения создания HTML-контента ColdFusion. (ПРИМЕЧАНИЕ. Это чрезвычайно полезно для доставки в режиме реального времени/в режиме реального времени/кэширования, но не рекомендуется для объединения в пакеты для распространения.)   -  person James Moberg    schedule 21.10.2014


Ответы (1)


Мы недавно прошли через это же решение. В конце концов, мы остановились на использовании Gulp, который представляет собой средство запуска задач на основе Javascript, которое вы используете в разработке, и я рекомендую вам сделать то же самое. У Gulp огромное сообщество и пользовательская база, а также множество плагинов. Он может следить за изменениями в файлах по мере разработки и автоматически повторно объединять, минимизировать (и около 1000 других вещей — см. http://gulpjs.com/plugins/).

Используя подключаемый модуль Gulp под названием gulp-rev, файлы автоматически переименовываются, например, file-k34jzkl3.css, чтобы очистить кеш браузера при внесении изменений. Используя другой плагин gulp, gulp-manifest, мы автоматически генерируем файл JSON, который сопоставляет исходный файл CSS с именем, удаленным из кеша (например, «file.css»: «file-k34jzkl3.css»), а затем у нас есть простой CFC, который переводит эти имена в нужное место в нашем HTML. Вот как выглядит наш JSON-файл манифеста:

{
  "baseline.css": "/global/baseline-82bcd2ab92.css",
  "user.css": "/global/user-0d1d32170c.css"
}

И тогда наша разметка CFML выглядит так:

<link rel="stylesheet" href="#application.asset.getAsset("baseline.css")#">

Который генерирует вывод HTML, например:

<link rel="stylesheet" href="/global/baseline-82bcd2ab92.css">

Я создал репозиторий с кодом по адресу https://github.com/ghidinelli/assets.cfc.

person Brian Ghidinelli    schedule 06.10.2015