Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   автоматизация рутины (https://javascript.ru/forum/offtopic/28494-avtomatizaciya-rutiny.html)

Tim 22.05.2012 14:34

Цитата:

Сообщение от melky (Сообщение 175961)
я раньше любил notepad++ и не любил IDE'шки. но в нём мне не хватало навигатора по коду

та же история. сейчас notepad++ использую только для php. всё остальной в WebStorm

B~Vladi 22.05.2012 14:57

Цитата:

Сообщение от Kolyaj
на лету при разработке

А если процесс сборки будет занимать много времени? GCC не такой уж и быстрый.
Не лучше ли разделить на dev и prod-режимы?

Kolyaj 22.05.2012 15:31

GCC нормальный, это java запускается не быстро, обычно из-за антивируса. Но это всё неважно, т.к. при разработке gcc не нужен, сжимать файлы нужно только при выкладке, на лету нужно только собирать.

Цитата:

Сообщение от B~Vladi
Не лучше ли разделить на dev и prod-режимы?

Ну дык в процитированном тобой сообщении есть фраза "при разработке".

B~Vladi 22.05.2012 16:33

Цитата:

Сообщение от 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']
       }
     }
    }]
  }
}


Как думаете, такая схема будет удобна?

Kolyaj 22.05.2012 16:48

Цитата:

Сообщение от B~Vladi
Как думаете, такая схема будет удобна?

2-е сообщение в теме.

B~Vladi 22.05.2012 17:01

Цитата:

Сообщение от Kolyaj
2-е сообщение в теме.

Ок, первый случай: выпиливаем код сборки script1.js из конфига и script2.js уже не будет подключаться (так как команда подключения в этой части кода).

Второй случай: конфиг сборки создается для всего проекта, а не для отдельных страниц. Если на другой странице мы подключим script1.js - остальное так же подтянется из конфига.

Видимо, ты не до конца вник в схему...

Kolyaj 22.05.2012 17:40

B~Vladi,
ну то есть то же самое, что сказал я, только с выносом подключающих директив в отдельный файл.

B~Vladi 22.05.2012 17:46

Цитата:

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

Ну получается что так. Остановлюсь пока на этом варианте.

Хм, как-то не красиво получилось. Tim начал про свою либу, а я со своей влез.

Tim 23.05.2012 02:38

B~Vladi,
Всё норм, не парься. =) У меня и либы то собственно не какой нет. Я как раз хотел послушать что другие делают.

B~Vladi 23.05.2012 10:23

Цитата:

Сообщение от Tim
Я как раз хотел послушать что другие делают.

Послушал? Что думаешь? :)


Часовой пояс GMT +3, время: 15:08.