在 symfony 5 中哪里可以添加资源?

Hed*_*aud 2 assets symfony

我正在使用 symfony 5,但我不知道在哪里可以放置我的 css、js、图像文件。

我读了很多关于它的帖子,但没有一个对我有帮助......

我试过:

  • 作曲家需要 symfony/asset
  • symfony 控制台资产:安装

这是我在 twig 文件中使用 asset 函数的方式:

<link rel="stylesheet" type="text/css" href="{{ asset('css/base.css') }}">
Run Code Online (Sandbox Code Playgroud)

是的,我在 public/css/base.css 有一个文件...但是当我检查结果页面时,我的行被替换为:

<link rel="stylesheet" type="text/css" href="/css/base.css">
Run Code Online (Sandbox Code Playgroud)

有人有什么想法吗?

此致,

Flo*_*ann 5

如果您不使用 webpack(或 webpack encore),您的资产应该位于您的公共文件夹中,该文件夹是公共项目的根目录。例如,如果您在 public/css/style.css 中有一个名为 style.css 的文件,您可以在浏览器中使用 url(假设您使用在公共目录中启动的本地服务器)http://localhost 访问它: 8000/css/style.css。

Symfony 资产组件的目标是猜测您的项目是否位于子目录中,从而解析正确的路径。为了在 Twig 模板中与之前的虚构文件一起使用它:

<link rel="stylesheet" href="{{ asset('css/style.css') }}">
Run Code Online (Sandbox Code Playgroud)

asset 函数将能够为您的文件生成正确的路径。

如果你使用 webpack,设置会有点困难,所以如果你不使用,我不会在这里解释。