symfony - 我在哪里可以在 symfony 5 中添加资产?
问题描述
我正在使用 symfony 5,但我不知道在哪里可以放置我的 css、js、图像文件。
我读了很多关于它的帖子,但没有一个对我有帮助......
我试过了:
- 作曲家需要 symfony/资产
- symfony 控制台资产:安装
这是我在树枝文件中使用资产功能的方式:
<link rel="stylesheet" type="text/css" href="{{ asset('css/base.css') }}">
是的,我在 public/css/base.css 有一个文件...但是当我检查结果页面时,我的行被替换为:
<link rel="stylesheet" type="text/css" href="/css/base.css">
有人知道吗?
此致,
解决方案
如果你不使用 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') }}">
资产功能将能够为您的文件生成正确的路径。
如果你使用 webpack,设置会有点困难,所以如果你不使用,我不会在这里解释。
推荐阅读
- javascript - 如何访问 ["X", "X", "O", "", "O"]
- angular - 为什么我的 observable 返回 null?
- javascript - JavaScript - 扁平化嵌套对象数组
- java - 在运行时更新 log4j2 模式
- python - ssl/asyncio:即使处理了错误也可以回溯
- bazel - rbuildfiles 返回 WORKSPACE 中的所有外部依赖项
- javascript - D3 V4 树搜索和突出显示
- java - 使用 Java 8 lambda 表达式,按内部列表的属性过滤对象列表
- angular - FirebaseListObservable 未填充
- ios - iOS 在启动时崩溃 - 无法在任何设备上重新创建