34

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

4

3 回答 3

76

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

但是,如果您将图像添加到捆绑包的资源文件夹中,则可能必须这样做,具体取决于您的操作系统以及调用时使用的选项assets:install

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

php app/console assets:install web --symlink

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

关于设置,我通常把所有的css、js、图像和任何公共资源放在一个bundle中,如果它只在bundle中使用,如果它被多个bundle使用,或者我打算使用它,我将它放在public文件夹中在其他捆绑包中。

于 2012-03-29T19:02:28.603 回答
2

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

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

在 composer.json 添加:

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

这也会在composer update.

于 2015-01-08T13:30:00.097 回答
1

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

于 2015-06-11T20:10:32.307 回答