我在MacBook Pro上的Ubuntu VirtualBox内部以dev模式运行Symfony2应用程序。该网站运行速度非常快,直到我想转储和/或观看(app / console assetic:dump)资产。转储42个scss和一些js文件大约需要20-30秒。观察者也很慢,在更改一个文件后,需要10-15秒才能完成更改。这是正常的吗?在我的本地机器上,用罗盘编译文件只需5秒钟。
任何想法,我如何加快整个过程?
ruby: 1.8.7
compass: 1.0.1
sass: 3.4.6
答案 0 :(得分:0)
这就是dev
环境的工作原理。您正在使用在开发时随时更改的资产和代码,因此Symfony会在每个页面加载之间清除其编译的缓存,以便为您呈现最新结果。
Assetic还会将文件分解为单独的CSS文件,而不是将它们聚合到一个文件中,以便您可以在浏览器检查器中调试SCSS文件。由于您正在使用42个SCSS文件进行动态编译,因此assetic:dump
需要一段时间并不奇怪。
观察者是相同的场景,因为如果它检测到任何单个文件中的更改,它就会完全执行上述操作。这只是能够与您的开发环境一起设计和开发的权衡。
为什么它比香草compass
安装慢?推测,Assetic如何管理文件还涉及更多步骤 - 它必须从模板中找到它们,重写路径(如果启用了cssrewrite
),移动文件,然后进行编译。
您的选择是:
但是一旦将其部署到prod
环境,您将拥有更长时间缓存的所有内容,因此您不会遇到动态资产编译的20-30秒问题。