Вот такой вот у меня make файл, поставил, заинсталил все в libs npm/bower, но не взлетает js файл, пишет, что modules is not defined, так понимаем, что ym не подключается в начало, хотя объвление i-bem-dom. :( Как его подружить? Уже много способов вроде перепробовали, но ничего не получается.
module.exports = function(config) {
config.node('pages/index', function(nodeConfig) {
nodeConfig.addTechs([
[ require('enb/techs/levels'), { levels: getLevels(config) } ],
[ require("enb/techs/file-provider"), { target: "?.bemjson.js" } ],
require("enb/techs/bemdecl-from-bemjson"),
// [ require('enb/techs/file-provider'), { target: '?.bemdecl.js' } ],
require('enb-bh/techs/bh-server'),
require('enb-bh/techs/bh-client'),
require('enb/techs/deps'),
require('enb/techs/files'),
require('enb/techs/css-stylus'),
require('enb-bh/techs/html-from-bemjson'),
[ require('enb-diverse-js/techs/browser-js'), { target: '?.pre.js' }],
[ require('enb-modules/techs/prepend-modules'), { target: '?.js', source: '?.pre.js' }],
// require('enb/techs/js'),
// [ require('enb/techs/file-copy'), { sourceTarget: '?.js', destTarget: '_?.js' } ],
[ require('enb/techs/file-copy'), { sourceTarget: '?.css', destTarget: '_?.css' } ]
]);
nodeConfig.addTargets(['?.html', '?.bemdecl.js', '?.deps.js', '_?.js', '_?.css', ]);
});
};
function getLevels(config) {
return [
{path: 'libs/bem-core/common.blocks', check: false},
{path: 'libs/bem-core/desktop.blocks', check: false},
{path: 'libs/bem-components/common.blocks', check: false},
{path: 'libs/bem-components/desktop.blocks', check: false},
{path: 'libs/bem-components/design/common.blocks', check: false},
{path: 'libs/bem-components/design/desktop.blocks', check: false},
{path: 'common.blocks', check: true},
{path: 'desktop.blocks', check: true}
].map(function(levelPath) { return config.resolvePath(levelPath); });
}
cc @andrewblond
Судя по конфигу — всё нормально. На всякий случай, очистка кэша (
rm -rf .enb/tmp
) и перестановкаnode_modules
не помогает?Ошибка вылетает при сборке или во время выполнения в браузере?
@andrewblohd На уровне браузера.
Решил заодно переустановить библиотеки в bem-core, т.к. выяснил что у меня npm не 2.0.0, а какой-то старый. Что правда закончилось еще печальнее:
Дофиксил эту ошибку вручную, я так понял, что он воспроизводится у меня потому что что-то криво с определением версии штук поставленных с npm install -g. Но сама по себе проблема осталась с тем что modules is not defined в js файле в браузере. Все компилится но в начало не вставляется ym. ._. Может что не так с позициями?
@KlonD90 можешь запушить проект на github, чтобы можно было предметно посмотреть?
@tadatuta: Да конечно. https://github.com/MaximOnline/bem-editor
Пригляделся к конфигу повнимательнее: строчка про копирование в
_js
закомментирована, но при этом требуется_?.js
таргет.Скорее всего вначале ты собрал
_?.js
без ym, потом закометировал, но в кэше файл остался.P.S. когда сомневаешься юзай
-n
опцию: сброс кэша.Ага разобрался. Я инклюдил какую-то фигню, спасибо.