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代码的字符串混合?

4

1 回答 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>
于 2015-02-10T00:20:58.540 回答