获取已加载的LESS文件并按需编译

3
我正在尝试编译一个小的 LESS 代码段,并将其与已在页面中编译的较大代码混合使用。我认为有一些方法可以重用编译后的 less,或者重新加载它,将其与更新的代码混合,然后在页面中编译混合代码。我考虑以以下示例的某种方式加载它:
var runtime_less = '@bg:red; .selector { background-color:@bg; }';
var library_less = '@var:bla bla bla...';

var library_parser = new(less.Parser)({
    paths: ['.', './lib'], // Specify search paths for @import directives
    filename: 'css/full_library.less' // Specify a filename, for better error messages
});

frontsize_parser.parse('', function (e, tree) {
    library_less = tree;
});

var runtime_parser = new(less.Parser)({});
runtime_parser.parse(library_less, function (e, tree) {
    // this should be inside some load event
    $("#container-style").text(library_less.toCSS() + ' ' + tree.toCSS());
});

是否有办法获取当前加载的LESS文件,并以某种方式处理它?

或者是否有一种方法来加载LESS文件,然后将LESS数据与包含附加LESS代码的字符串混合?

1个回答

0

包含 t.less:

@color: lightgreen;

你可以使用以下代码:
<link type="text/css" href="t.less" rel="stylesheet/less">
<script>

less = { 
    env: "development"
};
</script>  
<script src="/less.js/dist/less.js"></script>
<script>
var tmp = less.parse;
less.parse = function(input,option,callback) {
tmp(input + ' h1 {color:@color;}',option,callback);
}
less.refreshStyles();   
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接