Есть такая структура:
desktop.blocks
input
__control
input__control.bemhtml
input__control.styl
input.bemhtml
input.styl
desktop.bundles
index
index.bemjson.js
При запуске сервера "./node_modules/.bin/bem server", генерируется файл index.bemdecl.js, но он не содержит элементы блока input, а добавляет только это:
...
{
"name": "input"
}
...
Проект создавал с помощью bem-stub: bem-toos, bem-core.
make.js:
/* global MAKE:false */
// process.env.YENV = 'production';
var PATH = require('path');
require('bem-tools-autoprefixer').extendMake(MAKE);
MAKE.decl('Arch', {
blocksLevelsRegexp: /^.+?\.blocks/,
bundlesLevelsRegexp: /^.+?\.bundles$/
});
MAKE.decl('BundleNode', {
getTechs: function () {
return [
'bemjson.js',
'bemdecl.js',
'deps.js',
'stylus',
'css',
'bemhtml',
'html'
];
},
getForkedTechs: function () {
return this.__base().concat(['stylus']);
},
getLevelsMap: function () {
return {
desktop: [
'libs/bem-core/common.blocks',
'libs/bem-core/desktop.blocks',
'libs/bem-grid/common.blocks',
'common.blocks',
'desktop.blocks'
]
};
},
getLevels: function () {
var resolve = PATH.resolve.bind(PATH, this.root),
buildLevel = this.getLevelPath().split('.')[0],
levels = this.getLevelsMap()[buildLevel] || [];
return levels
.map(function (path) { return resolve(path); })
.concat(resolve(PATH.dirname(this.getNodePrefix()), 'blocks'));
},
'create-css-node': function (tech, bundleNode, magicNode) {
var source = this.getBundlePath('stylus');
if (this.ctx.arch.hasNode(source)) {
return this.createAutoprefixerNode(tech, this.ctx.arch.getNode(source), bundleNode, magicNode);
}
}
});
MAKE.decl('AutoprefixerNode', {
getPlatform: function () {
return this.output.split('.')[0];
},
getBrowsers: function () {
var platform = this.getPlatform();
switch (platform) {
case 'desktop':
return [
'last 2 versions',
'ie 10',
'ff 24',
'opera 12.16'
];
}
return this.__base();
}
});
input.bemhtml
Это ок. Видимо, от элементов блока инпут никто не зависит. Если это обязательные элементы, добавьте deps.js файл блоку input, где опишите эту зависимость.
Спасибо, помогло. Мы, кстати, знакомы.
Да, я помню)