###Сборщик js-бандлов
####Описание конфигурационных параметров
Важно! Пути указываются от корневого каталога проекта
var config = {
// Каталог для временных файлов. Автоматически создается сборщиком.
tmp: '../var/tmp',
// Основной каталог, из которого веб-сервер отдает скрипты.
webroot: 'data',
// Каталог, в который помещается файл build-catalog.js
contextPath: 'data/js/common',
// Файл с описанием бандлов. Содержит ключи, совпадающие с названиями проектов (см. ниже)
bundleCfg: 'etc/js_bundles.json',
// Конфигурационные параметры проектов.
projects: {
// Раздел с дефолтными параметрами проектов.
defaults: {
// Путь к проекту. Переменная name - имя проекта.
path: 'bem/<%= name %>',
// Путь к каталогу с бандлами страниц
pages: '<%= path %>/<%= name %>.bundles',
// CSS, в которых хешируются пути к изображениям и шрифтам
css: '<%= pages %>/common/*.css',
// Статика, которая адресуется в css и для которой формирутся хешированные пути.
// Также могут указываться в парамтрах проектов
assets: [
'data/auto/img/**/*.{css,jpg,png,gif}',
'bem/web/web.blocks/icon/_font/*.{woff,eot,ttf,svg}'
],
// Префикс для скриптов с относительной адресацией. Позволяет не указывать в шаблонах
// общий путь к скриптам. Например, с префиксом `/js` скрипт можно подключать так:
// `cpf/tools/tools.initModules.js`, - а из браузера он запрашивается так:
// `/js/cpf/tools/tools.initModules.js`. Указывается от webroot.
prefix: '/js/auto2014',
// Проект может подключать скрипты выше своего каталога (например, из bem-toolkit).
// В продакшн это не заметно, поскольку скрипты отдаются в составе бандлов, но
// в devel влечет проблему - браузер не понимает пути вида '../../path/to/file.js'.
// Параметр `outerLocation` задает префикс, который подставляется вместо перходов
// в родительский каталог: '../../' ==> outerLocation.
outerLocation: '/'
},
// Раздел с параметрами проекта. В раздел автоматически добавляется ключ `name`
// с именем проекта, например name: 'web' (доступен для подстановки в шблоны).
web: {
// Собирать бандлы проекта и хешировать пути в css. Отключение полезно,
// если не требуется пересобирать банлы (например, для спецпроекта).
// Тем не менее бандлы и исходные файлы будут известны в контексте V8.
build: false,
// Исходные файлы, для которых формируются хешированные пути. Необходимо,
// избегать практики, когда необходимо указывать сборщику исходные js,
// поскольку все они должны отдаваться в составе бандлов. Напротив, css
// всегда должны укаываться в `sources`
sources: [
'<%= css %>',
'data/js/auto/**/*.js',
'data/js/auto2014/**/*.js',
'data/js/common/vendor/*.js'
],
// css, прогоняемые через bless
bless: []
}
}
};