@ jrburke: я собрал быстрый плагин requirejs на основе вашего кода:
define({
version: '0.1',
load: function(name, req, onLoad, config) {
req(['text!' + name, 'base/less'], function(lessText) {
var styleElem;
(new less.Parser()).parse(lessText, function (err, css) {
if (err) {
if (typeof console !== 'undefined' && console.error) {
console.error(err);
}
} else {
styleElem = document.createElement('style');
styleElem.type = 'text/css';
if (styleElem.styleSheet)
styleElem.styleSheet.cssText = css.toCSS();
else
styleElem.appendChild( document.createTextNode( css.toCSS() ) );
document.getElementsByTagName("head")[0].appendChild( styleElem );
}
onLoad(styleElem);
});
});
}
});
«base / less» указывает на меньшее количество источников.Вы также можете загрузить это заранее и предположить, что глобальный объект less
существует.В идеале, я бы хотел добавить меньше объектов Parser в сам этот плагин, чтобы он вообще не создавал глобал.
Используя это, я могу сделать что-то вроде:
require(['less!global.less'], function(elem) {
});
В этот момент global.less был проанализирован и добавлен на страницу и возвращает элемент, указывающий на элемент стиля в случае, если янужно удалить или изменить его по какой-то причине.
Кто-нибудь имеет какой-либо вклад или знает лучший способ сделать это?
Приветствия