Less 重新编译更少的文件-modifyVars不编译某些元素

Less 重新编译更少的文件-modifyVars不编译某些元素,less,Less,我试图对一个特定的div应用一个更少的文件,然后用javascript修改它,我遇到了问题。以下是我得到的: <div id="live"> <h1>Title</h1> </div> 然后我会在飞行中编译它。初始编译工作正常,为bootstrap中的body标记提供@body bg变量。因此,我尝试用以下方法对其进行修改: less.modifyVars({'@body-bg':'blue'}); 但这不会重新编译live中的文件。有

我试图对一个特定的div应用一个更少的文件,然后用javascript修改它,我遇到了问题。以下是我得到的:

<div id="live">
    <h1>Title</h1>
</div>
然后我会在飞行中编译它。初始编译工作正常,为bootstrap中的body标记提供@body bg变量。因此,我尝试用以下方法对其进行修改:

less.modifyVars({'@body-bg':'blue'});
但这不会重新编译live中的文件。有人知道如何强制它重新编译整个文件吗

下面是less.js的modifyVars()函数:

less.modifyVars = function (a) {
    var b = "";
    for (var c in a) b += ("@" === c.slice(0, 1) ? "" : "@") + c + ": " + (";" === a[c].slice(-1) ? a[c] : a[c] + ";");
    less.refresh(!1, b)
}

我相信您需要在LESS中设置
watch
模式以进行自动更新。引述:

监视模式是一种客户端功能,它使您的样式在更改时能够自动刷新

要启用它,请附加
#!查看浏览器URL,然后刷新页面。或者,您可以从控制台运行
less.watch()


您也可以调用它来刷新lee.modifyVars(),但我只是想知道为什么它只更新less文件的一部分,而将所有内容都保留在#live{}中。
less.modifyVars = function (a) {
    var b = "";
    for (var c in a) b += ("@" === c.slice(0, 1) ? "" : "@") + c + ": " + (";" === a[c].slice(-1) ? a[c] : a[c] + ";");
    less.refresh(!1, b)
}