我在使用lessphp时遇到的一个令人讨厌的问题(在rails或python/django中也很少编译)是它只关注要编译的文件,而不关注导入的文件。
例如,我的less结构看起来像这样:
// 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)上一样检查所有文件更改的选项?
发布于 2014-10-18 06:15:02
当您检查php Less c编译器的源代码时,您会发现该脚本只计算您作为参数传递的较少文件的修改时间。
当/home/project/less中的文件较少时,例如,可以在bin/less中的while(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;
}https://stackoverflow.com/questions/26410669
复制相似问题