2013-12-09 55 views
0

我想將較少的文件應用於特定的div,然後用javascript修改它,並且遇到問題。下面是我得到了什麼:重新編譯少量文件 - modifyVars沒有編譯一些元素

<div id="live"> 
    <h1>Title</h1> 
</div> 

少:

@body-bg: #fff; 

#live { 
    @import "bootstrap/scaffolding.less"; 
} 

然後我編譯它的飛行。初始編譯起作用,從引導程序給出body標記@ body-bg變量。所以然後我嘗試修改它:

less.modifyVars({'@body-bg':'blue'}); 

但是,這不會重新編譯#live中的文件。有誰知道如何強制它重新編譯整個文件?

這裏的modifyVars less.js()函數:

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) 
} 

回答

0

我相信你需要的watch模式少的自動更新設置。引述lesscss.org

觀看模式是一個客戶端的功能,這使得他們改變你的風格,以自動刷新。

要啓用它,請在瀏覽器URL中附加#!watch,然後刷新頁面。或者,您可以從控制檯運行less.watch()

+0

你也可以使用lee.modifyVars()來調用它,但我只是想知道爲什麼它只更新少部分文件並將#live {}中的所有內容都保留下來。 – babbaggeii