跳到主要内容

程序化使用(Programmatic)

less 的主要入口点是 less.render 函数。它采用以下格式

less.render(lessInput, options)
.then(function(output) {
// output.css = css 字符串
// output.map = sourcemap 字符串
// output.imports = 引用的导入文件名字符串数组
},
function(error) {
});

// 或者...

less.render(css, options, function(error, output) {})

选项参数是可选的。如果指定了回调函数,则不会返回 Promise,而如果不指定回调函数,则会返回 Promise。 在底层,回调版本被使用,以便可以同步使用 less。

如果要呈现文件,则首先需要将其读入字符串(传递给 less.render),然后将选项中的文件名字段设置为主文件的文件名。less 将处理所有导入的处理。

sourceMap 选项是一个对象,它使你能够设置子 sourcemap 选项。可用的子选项是:sourceMapURLsourceMapBasepathsourceMapRootpathoutputSourceFilessourceMapFileInline。请注意,sourceMap 选项现在不适用于浏览器编译器中的 less.js。

less.render(lessInput)
.then(function(output) {
// output.css = css 字符串
// output.map = undefined
}
//,
less.render(lessInput, {sourceMap: {}})
.then(function(output) {
// output.css = css 字符串
// output.map = sourcemap 字符串
}
//or,
less.render(lessInput, {sourceMap: {sourceMapFileInline: true}})
.then(function(output) {
// output.css = css 字符串 \n /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJ..= */
// output.map = undefined
}

获取日志访问权限

你可以使用以下代码添加日志侦听器

less.logger.addListener({
debug: function(msg) {
},
info: function(msg) {
},
warn: function(msg) {
},
error: function(msg) {
}
});

注意:所有函数都是可选的。错误不会被记录,而是传递回 less.render 中的回调函数或 Promise。