1

我有一个“小”问题正在从我那里偷走大量的时间。

我在 symfony2.1 中使用带有lesscss过滤器的资产。问题是,Assetic(?) 没有注意到使用@import. 例如:

全局.less:

@import "colors";

body {
    background: @backgroundColor;
}

颜色.less:

@backgroundColor: #333;

现在,如果我改变我@backgroundColorcolors.less,什么都不会发生。我必须在我的global.less文件中添加空格,然后它才会重新编译我的 CSS。

起初,我检查了它是否是 APC 加速器问题,所以我禁用了它,但事实并非如此。然后我检查了assetic github,发现了这个:问题#79

我试过了,但故事还是一样,好像我什么都没做。然后我检查了我的Assetic版本是否有这个功能,因为我发现“ArrayCache”类在 2 个月前被合并了,所以我将composer.json设置为需要“dev-master”Assetic Bundle(它在中更新-12 月,因此它合并了新的 Assetic 版本)。仍然没有成功。

我现在没有主意了。

4

2 回答 2

1

这是一个已知的错误,Assetic 无法找到导入的 less 文档的更改。

为了解决这个问题,我使用了仅在开发环境中工作的LessElephantBundle 。它将扫描更少的文件以进行更改,如果失败,您可以使用 force_compile var。

在assetic:dump --env=prod 上,你不需要它,assetic 会在没有缓存的情况下重新生成你所有的css。

于 2013-01-08T11:19:46.163 回答
0

2年后,这个问题仍然发生在我身上。我修复它的方法是在 PHPStorm 中设置一个 File Watcher,touch每次修改 @imports 引用的 LESS 文件之一时,它都会在主 LESS 文件上运行命令。这会破坏缓存,并重新编译 CSS 文件。

于 2014-07-06T04:38:31.260 回答