我正在研究symfony教程和文档,它似乎意味着在开发模式下资源可用而无需安装资产,如:
<link rel="stylesheet" href="{{ asset("bundles/yodauser/css/login.css") }}" />
我在开发模式下遇到404错误,直到我实际运行assets:install命令。
我做错了什么?
答案 0 :(得分:3)
引用文档:
http://symfony.com/doc/current/book/templating.html#including-stylesheets-and-javascripts-in-twig
您还可以添加位于捆绑包中的资产。资源/公 夹。您将需要运行php bin / console资产:安装目标 [--symlink]命令,将(或符号链接)文件移动到正确的位置 地点。 (目标是默认情况下&#34; web&#34;)。
<link href="{{ asset('bundles/acmedemo/css/contact.css') }}" rel="stylesheet" />
它应该有效,在我的情况下,有时它确实有时它是doeasnt。 最糟糕的情况是,每次更新资产时都必须运行命令。
答案 1 :(得分:3)
404当您的服务器上不存在该文件时,错误将会消失!(未找到...)(W3官方文档here)。该文件不存在于您的目标文件夹中(或您定位错误的文件^^)...
您是否考虑过使用以下命令在您的网站/文件夹中加载您的资源:
# make a hard copy of the assets in web/
$ php app/console assets:install
# if possible, make absolute symlinks in web/ if not, make a hard copy
$ php app/console assets:install --symlink
# if possible, make relative symlinks in web/ if not, make a hard copy
$ php app/console assets:install --symlink --relative
这是SF2.6上的一个新命令,您可以找到此命令文档的更多示例here
你在官方symfony网站上有all the documentation of assetics。 对最佳实践的想法很少here。
此外,最好在您的asset()函数中使用&#39; 字符,如下所示:
<link rel="stylesheet" href="{{ asset('bundles/yodauser/css/login.css') }}" />