Просто интересно в чем может быть причина? В папке merged лежат скопированные бемдеклы бандлов (копируются при обходе бандлов проекта), при заходе на merged-бандл срабатывает эта функция
config.nodes('*.bundles/merged', function(nodeConfig) {
var dir = path.dirname(nodeConfig.getPath()),
bundles = fs.readdirSync(dir),
bemdeclFiles = [];
bundles.forEach(function (bundle) {
if (bundle === 'merged' || bundle === '.bem') return;
var node = path.join(dir, bundle),
target = bundle + '.bemdecl.js';
bemdeclFiles.push(target);
});
nodeConfig.addTechs([
[enbBemTechs.mergeBemdecl, { sources: bemdeclFiles }],
]);
nodeConfig.addTarget( 'merged.bemdecl.js' );
});
И выдает ошибку There is no tech for target desktop.bundles\merged\example.bemdecl.js Что не так? Заранее спасибо
@Trusow пожалуй, нужен полный текст конфига
пожалуйста
Разобрался
Вся фишка в том, что при обходе обычных бандлов не нужно копировать депсы или бемдеклы в мергед. Их нужно копировать при заходе на мергед бандл. На мой взгляд это нерационально. Хотя я могу ошибаться. Но просто к примеру: вот у нас 20 бандлов и 1 мергед бандл. Если мы захотим смержить css и js, нам придется скопировать 20 депсов или бемдеклов. Просто не понимаю: зачем? Их можно класть при билдинге бандла в мергед. Далее при заходе на мергед просматривать существующие депсы и сливать их в один, и далее генерить нужные нам файлы. Мне кажется, так будет производительнее.
Вот сам получившийся make.js
Суть его работы: при заходе на обычный бандл генерит html в мергед-бандл, у себя в папке оставляет только депс, нужный в дальнейшем при мергеде. Таким образом папка с бандлом выглядит гораздо чище: всего 2 необходимых файла. Далее при заходе на мергед копирует себе депсы, сливает их в один и уже из этого генерит нужные нам css и js.
Выглядит вполне годно, разница по производительности между вариантами, когда копировать умозрительно будет равна
fs.readdirSync(dir)
+ скорости обхода получившегося массива, так что, думаю, на это нет смысла обращать внимание, если бандлов всего ~20.Спасибо) Сегодня, думаю, выложу допиленный конфиг + gulpfile для вотча. Думаю, кому-нибудь сможет пригодится.