Показать сообщение отдельно
  #14 (permalink)  
Старый 22.05.2012, 16:33
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Ну дык в процитированном тобой сообщении есть фраза "при разработке".
А, я подумал делать полную сборку при разработке.

Я много размышлял на эту тему. Как вам такая схема.
К примеру, у нас 1 файл разбит на несколько для удобства. В сборщике указываем нужные файлы, которые будут соединены в файл fileName.js. Пример, как бы это выглядело в моем сборщике:
{ // Конфиг модуля JSCompressor
  'lib.js': { // Некая абстрактная либа
    'includes': 'lib/*'
  }
  'fileName.js': {
    'includes': ['fileName/file1.js', 'fileName/file2.js']
    'depends': ['lib.js'] // Зависимости
  }
}

Т.е. все зависимости указываются в конфиге сборщика, а не в исходниках.
В шаблоне указываем путь к этому js-файлу:
script src="www.domain.com/fileName.js"

Сборщик находит путь /fileName.js, ищет для этого файла зависимости (depends) и добавляет перед ним HTML-код подключения скрипта lib.js.

Таким образом все зависимости собраны в одном месте, а не разбросаны по исходникам. Кроме этого код файла lib.js не будет дублироваться в собранных файлах. Если же всё таки нужно его дублировать - просто перепишем конфиг без использования depends:
{ // Конфиг сборщика
  'JSCompressor': {
    'configs': [{ // Сначала собираются либы
      'lib.js': {
        'includes': 'lib/*'
      }
    },
    { // Потом остальное
      'fileName.js': {
        'includes': ['fileName/file1.js',
                       'fileName/file2.js']
      },
     { // Конкатенация зависимого кода
       'fileName.js': {
         'includes': ['lib.js',
                        'fileName.js']
       }
     }
    }]
  }
}


Как думаете, такая схема будет удобна?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием