
`asset()`函数接受一个参数,即相对于`public`目录的资源路径。例如,`asset('dist/css/bootstrap.min.css')`会生成指向`public/dist/css/bootstrap.min.css`的URL。示例代码:
以下是一个完整的base.html.twig模板示例,展示了如何使用asset()函数加载CSS和JavaScript文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
<link rel="stylesheet" href="{{ asset('dist/css/bootstrap.min.css') }}">
<link rel="stylesheet" href="{{ asset('css/style.css') }}">
{% block stylesheets %}{% endblock %}
</head>
<body>
<header>
{% include 'inc/navbar.html.twig' %}
</header>
<main class="container">
{% block body %}{% endblock %}
</main>
<script src="{{ asset('assets/js/vendor/jquery-3.6.0.min.js') }}"></script>
<script src="{{ asset('dist/js/bootstrap.bundle.min.js') }}"></script>
{% block javascripts %}{% endblock %}
</body>
</html>注意事项:
- 确保asset()函数的参数是相对于public目录的正确路径。
- 如果资源文件不在public目录下,需要使用assets目录链接到它们,或者修改Symfony的assets配置。
总结
通过使用Symfony的asset()函数,可以轻松解决Twig模板中CSS和JavaScript文件加载问题。该函数能够自动处理URL层级,确保资源文件在任何URL下都能被正确引用。 记住要检查资源文件的路径,并使用正确的asset()函数参数,以确保资源能够被正确加载。











