mailru-cp-build

0.0.34 • Public • Published

###Сборщик 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: []
		}
	}
};

Readme

Keywords

none

Package Sidebar

Install

npm i mailru-cp-build

Weekly Downloads

2

Version

0.0.34

License

ISC

Last publish

Collaborators

  • mailru