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