我们正在构建一个需要非常模块化的CSS的大型站点。我们遇到的问题是我们喜欢使用@import
语句,因为它非常干净,但主要的缺点是性能(引用的所有CSS文件都是同步加载的,即不是并行加载)。
是否有人知道使用PHP(甚至.htaccess)查找通过@import
引用的任何CSS文件然后生成单个CSS文件的方法?
我看了很多例子(其中一些在这里可以看到):http://robertnyman.com/2010/01/19/tools-for-concatenating-and-minifying-css-and-javascript-files-in-different-development-environments/但它们都不适用于@import
。
感谢。
答案 0 :(得分:1)
少可以做到:http://lesscss.org/#-importing
也许是sass,但我不确定
答案 1 :(得分:0)
使用assetic来管理CSS和JavaScript会带来奇迹。默认情况下,在使用Symfony2时会提出,但可以在PHP中用作独立库。如果使用正确,它将允许您在调试时连接原始格式的文件,并连接/缩小生产中的所有内容。
https://github.com/kriswallsmith/assetic
我对@import没有任何问题。
如果您正在使用它,它还可以让您使用这些替代CSS语言。
答案 2 :(得分:0)
使用指南针。它将您的所有样式编译成一个文件。
compass-style.org
答案 3 :(得分:0)
您可以使用PHP版本的LESS。它会将样式文件中的样式和导入的样式处理到服务器本身的一个文件中。你也可以减少它。然后将其存储在缓存中。这将使LessPHP编译器能够查看已处理的文件是否已存在于缓存中,以及是否已更改任何相关的样式文件。如果没有任何改变,它将只返回缓存的样式文件。您需要在标记中做的唯一区别是将.css
更改为.less
标记中的<link>
。这也有助于你写下LESS css,这是一个奖励。
有关如何安装LessPHP,自动编译和缓存LESS文件的详细文档,请参阅in the official website和GITHub。