API технологий
Пакет предоставляет следующие технологии:
css — технология собирает исходные CSS-файлы.
css-imports — технология состовляет список
@import'ов из исходных CSS-файлов.
css
Собирает исходные CSS-файлы блоков со стилями.
Результатом сборки является CSS-файл. Для обработки итогового CSS используется CSS-построцессор postcss.
Опции
target
Тип: String. По умолчанию: ?.css.
Имя файла, куда будет записан результат сборки необходимых .css-файлов проекта.
filesTarget
Тип: String. По умолчанию: ?.files.
Имя таргета, откуда будет доступен список исходных файлов для сборки. Список файлов предоставляет технология files пакета enb-bem-techs.
sourceSuffixes
Тип: String | String[]. По умолчанию: ['css'].
Суффиксы, по которым отбираются файлы стилей для дальнейшей сборки.
sourcemap
Тип: String | Boolean. По умолчанию: false.
Построение карт кода (sourcemap) с информацией об исходных файлах.
Допустимые значения:
true — карта хранится в отдельном файле с расширение
.map.inline — карта встраивается в скомпилированный файл в виде закодированной строки в формате
base64.object — опции postcss.
autoprefixer
Тип: Object | Boolean. По умолчанию: false.
Добавление вендорных префиксов с помощью autoprefixer.
Допустимые значения:
false (
Boolean) — отключаетautoprefixer.true (
Boolean) — префиксы добавляются для самых актуальных версий браузеров на основании данных сервиса caniuse.com (поведение по умолчанию модуля autoprefixer).browsers (
String[]) — задание конфигурации в случае, если требуется передать точный список поддерживаемых браузеров.Пример
{ autoprefixer: { browsers: ['Explorer 10', 'Opera 12'] } }Примечание. Подробнее в документации autoprefixer.
compress
Тип: Boolean. По умолчанию: false.
Минификация CSS-кода. Используется csswring.
Поддерживает карты кода (sourcemap).
Пример
var CSSTech = require('enb-css/techs/css'),
FileProvideTech = require('enb/techs/file-provider'),
bemTechs = require('enb-bem-techs');
module.exports = function(config) {
config.node('bundle', function(node) {
// Получаем имена файлов (FileList)
node.addTechs([
[FileProvideTech, { target: '?.bemdecl.js' }],
[bemTechs.levels, { levels: ['blocks'] }],
[bemTechs.deps],
[bemTechs.files]
]);
// Создаем CSS-файлы
node.addTech([CSSTech, { /* опции */ }]);
node.addTarget('?.css');
});
};
css-imports
Состовляет список @import'ов из исходных CSS-файлов блоков.
Опции
target
Тип: String. По умолчанию: ?.css.
Имя файла, куда будет записан результат сборки необходимых .css-файлов проекта.
filesTarget
Тип: String. По умолчанию: ?.files.
Имя таргета, откуда будет доступен список исходных файлов для сборки. Список файлов предоставляет технология files пакета enb-bem-techs.
sourceSuffixes
Тип: String | String[]. По умолчанию: ['css'].
Суффиксы, по которым отбираются файлы стилей для дальнейшей сборки.
Пример
var CSSImportsTech = require('enb-css/techs/css-imports'),
FileProvideTech = require('enb/techs/file-provider'),
bemTechs = require('enb-bem-techs');
module.exports = function(config) {
config.node('bundle', function(node) {
// Получаем имена файлов (FileList)
node.addTechs([
[FileProvideTech, { target: '?.bemdecl.js' }],
[bemTechs.levels, { levels: ['blocks'] }],
[bemTechs.deps],
[bemTechs.files]
]);
// Создаем CSS-файлы
node.addTech([CSSImportsTech, { /* опции */ }]);
node.addTarget('?.css');
});
};