Symfony - 开发模式下的资产

时间:2016-02-03 10:38:04

标签: symfony assets development-environment

我正在研究symfony教程和文档,它似乎意味着在开发模式下资源可用而无需安装资产,如:

<link rel="stylesheet" href="{{ asset("bundles/yodauser/css/login.css") }}" />

我在开发模式下遇到404错误,直到我实际运行assets:install命令。

我做错了什么?

2 个答案:

答案 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') }}" />