enb-bevis v1.10.0
enb-bevis
Предоставляет технологии для сборки проектов на базе BEViS.
Сборка
Сборка обычного BEViS-проекта выглядит так:
.enb/make.js:
// ...
config.node('pages/index', function (nodeConfig) {
var browserSupport = [
'IE >= 9',
'Safari >= 5',
'Chrome >= 33',
'Opera >= 12.16',
'Firefox >= 28'
];
nodeConfig.addTechs([
// Зависимости
require('enb-bevis/techs/sources'),
[require('enb-bevis/techs/deps'), {sourceDeps: 'page'}], // начинаем сборку с блока page
require('enb-bevis/techs/files'),
// Локализация
[require('enb-y-i18n/techs/y-i18n-lang-js'), {lang: '{lang}'}],
// Сборка JS
require('enb-bt/techs/bt-client-module'),
[require('enb-bevis/techs/js'), {lang: '{lang}', target: '?.source.{lang}.js'}],
[require('enb-autopolyfiller/techs/autopolyfiller'), {
source: '?.source.{lang}.js',
target: '?.{lang}.js',
browsers: browserSupport
}],
// Сборка CSS
[require('enb-stylus/techs/css-stylus-with-autoprefixer'), {
browsers: browserSupport,
variables: {
ie: false
}
}],
[require('enb-stylus/techs/css-stylus-with-autoprefixer'), {
browsers: ['ie 9'],
target: '?.ie.css',
variables: {
ie: 9
}
}],
// Сборка HTML
require('enb-bt/techs/bt-server'),
[require('enb-bt/techs/html-from-btjson'), {lang: '{lang}'}]
]);
nodeConfig.mode('development', function (nodeConfig) {
nodeConfig.addTechs([
[require('enb/techs/file-copy'), {source: '?.css', target: '_?.css'}],
[require('enb/techs/file-copy'), {source: '?.ie.css', target: '_?.ie.css'}],
[require('enb/techs/file-copy'), {source: '?.{lang}.js', target: '_?.{lang}.js'}]
]);
});
nodeConfig.mode('production', function (nodeConfig) {
nodeConfig.addTechs([
[require('enb-borschik/techs/borschik'), {source: '?.css', target: '_?.css', freeze: true}],
[require('enb-borschik/techs/borschik'), {source: '?.ie.css', target: '_?.ie.css', freeze: true}],
[require('enb-borschik/techs/borschik'), {source: '?.{lang}.js', target: '_?.{lang}.js'}]
]);
});
nodeConfig.addTargets([
'_?.{lang}.js',
'_?.css',
'_?.ie.css',
'?.{lang}.html'
]);
});
// ...
package.json:
//...
"enb": {
"dependencies": ["islets"], // зависимость от islets
"sources": [
"blocks" // директории для блоков проекта
]
}
//...
sources
Собирает информацию о директориях с исходным кодом проекта, предоставляет ?.sources
.
Опции
- String target — Результирующий таргет. По умолчанию —
?.sources
. - Boolean auto — Автоматический сбор директорий с исходниками на основе
package.json
. По умолчанию включено. - String[] sources — Исходные директории.
- String[] dependencies — Пакеты, от которых зависит проект.
Пример
nodeConfig.addTech(require('enb-bevis/techs/sources'));
deps
Раскрывает зависимости.
Опции
- String|Array|Object sourceDeps — Исходные зависимости. Можно указать сразу, чтобы не создавать файл.
- String sourceDepsFile — Файл с исходными зависимостями. По умолчанию —
?.deps.yaml
. - String sources — Исходный sources. По умолчанию —
?.sources
. - String target — Результирующий deps. По умолчанию —
?.dest-deps.js
. - String jsSuffixes — Суффиксы
js
-файлов. По умолчанию —?.deps.yaml
.
Пример
Обычное использование:
nodeConfig.addTech(require('enb-bevis/techs/deps'));
Сборка специфического deps:
nodeConfig.addTech([require('enb-bevis/techs/deps'), {
sourceDepsFile: 'search.deps.yaml',
target: 'search.dest-deps.js'
}]);
files
Собирает список исходных файлов для сборки на основе deps и sources, предоставляет ?.files
и ?.dirs
.
Используется многими технологиями, которые объединяют множество файлов из различных исходных директорий в один.
Опции
- String depsFile — Исходный deps-файл. По умолчанию —
?.dest-deps.js
. - String sources — Исходный sources. По умолчанию —
?.sources
. - String filesTarget — Результирующий files-таргет. По умолчанию —
?.files
. - String dirsTarget — Результирующий dirs-таргет. По умолчанию —
?.dirs
.
Пример
nodeConfig.addTech(require('enb-bevis/techs/files'));
js
Собирает {lang}.js
-файл.
Опции
- String target — Результирующий файл. По умолчанию —
?.{lang}.js
. - String btFile — Файл с BT-шаблонами. По умолчанию —
?.bt-client.js
. - String i18nFile — Файл с переводами. По умолчанию —
?.{lang}.js
. - String lang — Язык. Нет значения по умолчанию.
Пример
Обычное использование:
nodeConfig.addTech(require('enb-bevis/techs/js'), {lang: '{lang}'});
Использование с автополифиллером:
nodeConfig.addTechs([
[require('enb-bevis/techs/js'), {target: '?.source.{lang}.js', lang: '{lang}'}],
[require('enb-autopolyfiller/techs/autopolyfiller'), {
source: '?.source.{lang}.js',
target: '?.{lang}.js',
browsers: ['IE >= 9', 'Safari >= 5', 'Chrome >= 33', 'Opera >= 12.16', 'Firefox >= 28']
}]
]);
source-deps-from-btjson
Формирует deps.yaml на основе ?.btjson.js
.
Опции
- String source — Исходный btjson-файл. По умолчанию —
?.btjson.js
. - String target — Результирующий файл. По умолчанию —
?.deps.yaml
.
Пример
nodeConfig.addTech(require('enb-bevis/techs/source-deps-from-btjson'));
source-deps-test
Формирует deps.yaml на основе деклараций тестов.
Опции
- String sources — Исходный sources. По умолчанию —
?.sources
. - String target — Результирующий файл. По умолчанию —
?.deps.yaml
. - RegExp|String fileMask — Фильтр для тестов.
Пример
nodeConfig.addTech(require('enb-bevis/techs/source-deps-test'));
js-test
Формирует test.js на основе деклараций тестов.
Опции
- String target — Результирующий файл. По умолчанию —
?.test.js
. - RegExp|String fileMask — Фильтр для тестов.
Пример
nodeConfig.addTech(require('enb-bevis/techs/js-test'));
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago