Объединение двух файлов.less в один
Предположим, у меня на два файла меньше, first.less
.a {
.b {
font-size: 13px;
}
color: lime;
}
а также second.less
@import "first.less";
.a {
font-family: sans-serif;
}
Я хотел бы объединить их в одно целое, объединяя деревья:
.a {
.b {
font-size: 13px;
}
color: lime;
font-family: sans-serif;
}
Итак, что-то похожее на компиляцию .css
, но сохраняя .less
состав. Можно ли это сделать с помощью инструмента командной строки, библиотеки или программно?
1 ответ
Что означает @helderdarocha, вы можете написать собственный javascript и запустить его с помощью node.js. Смотрите, например, http://lesscss.org/ и http://onedayitwillmake.com/blog/2013/03/compiling-less-from-a-node-js-script/
- установить меньше с: npm установить меньше (это создаст каталог node_modules)
- создайте свой файл second.less
- создайте файл test.js, что-то вроде:
var less = require( 'less' );
var fs = require( 'fs' );
var parser = new less.Parser();
fs.readFile( 'second.less', function ( error, data ) {
var dataString = data.toString();
parser.parse(dataString, function ( err, tree ) {
if ( err ) {
return console.error( err );
}
console.log( tree.toCSS() );
});
});
- Теперь вы можете запустить: >>
node test.js
Выше будет выведен код CSS, а не код Less, который вы хотите. Чтобы получить желаемый результат, вы должны расширить меньший код с помощью функции toLess(), которая может быть вызвана на tree
так же, как toCSS(). Интересно, если это лучший способ получить желаемый результат, то, что вы, кажется, хотите, это своего рода слияние селекторов. Обратите внимание, что Less не объединяет селекторы (см.: https://github.com/less/less.js/issues/930). Может также взглянуть на http://css2less.cc/ который объединяет селекторы.