我不敢相信我不能用谷歌搜索这个。。。
因此,我有了一个symfony2
应用程序,并将jQuery UI
与Composer
一起安装。这意味着我有这样的项目结构:
/app/
/src/
/vendor/components/jqueryui/
/web/
我已经设置了资产,可以将js/css文件从供应商文件夹复制到web。这很好。配置:
assetic:
assets:
javascripts:
inputs:
- %kernel.root_dir%/../vendor/components/jquery/jquery.js
- %kernel.root_dir%/../vendor/components/jqueryui/ui/jquery-ui.js
- %kernel.root_dir%/../vendor/components/jqueryui/ui/i18n/jquery.ui.datepicker-cs.js
stylesheets:
inputs:
- %kernel.root_dir%/../vendor/components/jqueryui/themes/redmond/jquery-ui.css
filters: cssrewrite
在assetic:转储之后我有
/web/js
/web/css
cssrewrite将images/image.png重写为/images/image.png。我想没关系,假设有一个/web/images目录。
现在的问题是:如何将图像从/vvendor/components/jqueryui/themes/redmond/images复制到/web/images?
或者还有其他最佳实践可以做到这一点吗?对不起,如果这是显而易见的事情,我是一个.NET的家伙,只是在尝试PHP。
我的答案可能不准确,因为我没有在供应商文件中尝试过,但这对我来说很有效:
app/console assets:install
它会将您的所有公共资源复制到您的web目录中。
用户1814739的回答帮助我理解了这一点,并可能为您提供更多信息。
也可以考虑来自Symfony博客的以下建议:
尽管开发人员通常在没有任何选项的情况下执行命令,但大多数时候最好使用
--symlink
选项来执行。这将使您的资产成为一个符号链接,而不是实际复制它们的文件。这意味着网络资产内容的任何更改都将在应用程序中立即生效。