Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 2-使用资产_Symfony_Twig_Assetic - Fatal编程技术网

Symfony 2-使用资产

Symfony 2-使用资产,symfony,twig,assetic,Symfony,Twig,Assetic,我需要一些关于如何在Symfony 2中使用资产的提示。例如,我们是否必须始终执行资产:每次添加图像时更新?我知道Assetic负责css和javascript文件的管理,但图像呢?使用Symfony 2进行前端开发的最佳实践是什么?你们如何在应用程序中设置css、图像和js文件,使其易于开发、部署和更改?关于图像,如果将其添加到公用文件夹中,我认为无需执行资产:更新 但是,如果在捆绑包的资源文件夹中添加映像,则可能必须添加映像,具体取决于您的操作系统以及调用assets:install时使用的

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

关于图像,如果将其添加到公用文件夹中,我认为无需执行
资产:更新

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

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

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


关于设置,我通常将所有css、js、图像和任何公共资源放在一个捆绑包中(如果它仅在捆绑包中使用),如果它被许多捆绑包使用,则将其放在公共文件夹中,或者我计划在其他捆绑包中使用它。

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

php app/console assets:install web --symlink --relative
在composer.json中添加:

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

这也将在
composer update
上生成相对的符号链接。这里有一个很酷的想法--symlink。您可以配置(配置)一次,然后永远使用。如果您想要更多的
assets:update
是真正的命令吗?我没有在其他地方发现它,在Symfony/Assetic代码库中也找不到它。如果它确实存在,我想了解更多。相关:另外,如果您使用Composer更新供应商软件包,请不要忘记在Composer.json文件()中设置
“extra”:{“symfony资产安装”:“symlink”}
。当您运行cmd(或git bash)时,
symlink
也可以在Windows上运行在管理员模式下。:)因为Assetic使用Windows上支持的。由于composer.json是提交的,因此在生产环境的安装过程中使用,我不确定您是否希望在composer.json中直接使用它。
"extra": {
    "symfony-assets-install": "relative"
}