Symfony 2 - 使用资产

时间:2012-03-29 18:19:03

标签: symfony twig assetic

我需要一些关于如何在Symfony 2中使用资产的技巧。例如,我们是否必须始终执行资产:每次添加图像时更新?我知道Assetic负责管理css和javascript文件但是图像怎么样?使用Symfony 2进行前端开发的最佳实践是什么?你们如何在应用程序中设置css,images和js文件,以便于开发,部署和更改?

3 个答案:

答案 0 :(得分:76)

关于图片,如果您将其添加到公共文件夹中,我认为无需执行assets:update

但是,如果您在捆绑包的资源文件夹中添加图片,则可能需要,具体取决于您的操作系统以及调用时使用的选项assets:install

如果您使用的操作系统支持符号链接(Linux,OS X,我猜所有操作系统除了Windows),您可以安装资产调用(我不记得电话,重要的是这里是符号链接选项):

php app/console assets:install web --symlink

这样,您将拥有一个符号链接,而不是拥有每个包的资源副本,因此不需要更新。如果您的操作系统不支持符号链接,我认为您必须不断更新或重新安装资产(事实上,我总是使用assets:install,我不知道有更新选项:P)

关于设置,我通常将所有css,js,images和任何公共资源放在bundle中,如果它只在bundle中使用,如果它被许多bundle使用,或者我计划将它放在公共文件夹中在其他包中使用它。

答案 1 :(得分:2)

从Symfony 2.7开始,这将在web目录中生成相对的符号链接:

php app/console assets:install web --symlink --relative

在composer.json中添加:

"extra": {
    "symfony-assets-install": "relative"
}

这也会在composer update上生成相对符号链接。

答案 2 :(得分:0)

这是很酷的想法--symlink。你可以配置(配置)一次并永远使用。如果你想要更多http://www.w3docs.com/snippets/symfony/how-to-keep-symlinks-in-web-bundles-after-composer-update.html