假设我少了两个文件,first.less
.a {
.b {
font-size: 13px;
}
color: lime;
}
Run Code Online (Sandbox Code Playgroud)
和second.less
@import "first.less";
.a {
font-family: sans-serif;
}
Run Code Online (Sandbox Code Playgroud)
我想要一种将它们组合成一体的方法,合并树:
.a {
.b {
font-size: 13px;
}
color: lime;
font-family: sans-serif;
}
Run Code Online (Sandbox Code Playgroud)
因此,类似于编译为.css,但保留.less结构。是否可以通过命令行工具、库或以编程方式完成?
@helderdarocha 的意思是,您可以编写本机 javascript 并使用 node.js 运行它。例如,请参阅http://lesscss.org/#using-less-usage-in-code和http://onedayitwillmake.com/blog/2013/03/compiling-less-from-a-node-js-script/
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() );
});
});
Run Code Online (Sandbox Code Playgroud)
node test.js上面将输出 CSS 代码,而不是您想要的 Less 代码。tree为了获得所需的结果,您应该使用 toLess() 函数扩展 less 代码,该函数可以像 toCSS() 一样调用。我想知道这是否是获得所需结果的最佳方法,您似乎想要的是某种选择器合并。请注意,Less 不会合并选择器(请参阅: https: //github.com/less/less.js/issues/930)。也许还可以看看http://css2less.cc/合并选择器。
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |