2014-10-16 34 views
0

我一直在使用lessphp(並且在rails或python/django中編譯的問題)很煩人的問題是,它只能看到要編譯的文件,而不是導入的文件。lessphp:觀看導入的文件

比如我更低的結構看起來是這樣的:

// main.less 
// (compiled to styles.css) 
@import "variables" 
@import "objects" 
@import "theme" 

// theme.less 
// (actual styles) 
body { background:#efefef } 

所以實際編譯的文件只是導入我工作的樣式和文件的根。每次我對我的樣式進行更改(theme.less)我都必須編輯main.less,以便重新編譯它。

是否有任何選項檢查所有文件的變化,就像它在客戶端編譯(less.js)?

回答

0

當您檢查可以在https://raw.githubusercontent.com/oyejorge/less.php/master/bin/lessc處找到的php lessc編譯器的源代碼時,您會發現該腳本僅評估已作爲參數傳遞的Less文件的修改時間。

當你少文件在/home/project/less可以添加例如下面的代碼,而內(1)斌/循環較少,圍繞行125:

while (1) { 
    clearstatcache(); 
//keep original code here 
$dir = '/home/project/less'; 
$dh = opendir($dir); 
while (false !== ($filename = readdir($dh))) { 
    if(preg_match('/\.less$/',$filename) && filemtime($filename) > $lastAction) 
    { 
     $updated = true; 
     break; 
    } 
} 
if($updated) break; 
}