Показать сообщение отдельно
  #1 (permalink)  
Старый 22.05.2012, 02:55
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

автоматизация рутины
Рассказ о том как я избавляюсь он некоторого колличества рутинной работы. Хотелось бы услышать кто что думает? Может кто то знает более красивые решения? Вообще занимается кто нибудь подобной ерундой? Я относительно недавно к этому пришёл.


Структура каталога js-скриптов:
Код:
- js/
  - script_1/
    - fub_1.script_1.js
    - fub_2.script_1.js
  - script_2/
    - fub_1.script_2.js
    - fub_2.script_2.js
  - script_1.min.js
  - script_2.min.js
- Принцип именования файлов только для наглядности, его задача - показать, что все файлы которые в последствии будут сшиты в "script_1.min.js" находятся в папке "script_1".
- Также в папке "js" лежит файл "javascript.php". Он подключает скрипты на страницу. Либо "исходники", либо сжатые файлы, в зависимости от $_SERVER['HTTP_HOST'];. В "javascript.php" дял каждого файла определён массив вида: array('version' => 'x.xx', 'pages' => array('xxx', 'yyy')), где version - версия скрипта, pages - разделы сайта к которым скрипт подключается. На сервере настроено кеширование (заголовки Expires , Cache-Control).
- Сжатие скриптов производится Google Closure Compiler'ом. Есть скрипт генерирующий инструкци для командной строки запускающие сжатие скриптов.
- Папки script_1, script_2, ... script_n добавлены в список исключений в настройках развёртывания WebStorm.


Итого (как всё происходит):
1. Пишем код добавляя/удаляя файлы в папках script_x. Заботиться о подключении не нужно, всё настраивается один раз. Сами файлы script_1.min.js у меня достаточно большие, поэтому очень удобно в процессе разработки разбивать их на более мелкие фрагменты.
2. Правим значение version дял изменённых файлов и сжимаем файлы.
3. Заливаем папку "js" на сервер. Благодаря настройкам развёртывания зальются только сжатые скрипты и файл "javascript.php".
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием