我在Symfony 4上使用Web应用程序遇到麻烦
我创建了一个树枝模板,并开始添加一些资产,在这种情况下,使用Js文件来完成功能。但是,当我进入浏览器时,Js文件未加载,出现404错误
Size=This field must be less than {max} characters long
NotNull=This field must be set.
这是我的树枝文件
No route found for \"GET /public/test.js
ymfony\\Component\\Routing\\Exception\\ResourceNotFoundException in /srv/sso-gateway/var/cache/dev/srcDevDebugProjectContainerUrlMatcher.php:50\nStack trace:\n#0 /srv/sso-gateway/vendor/symfony/routing/Matcher/UrlMatcher.php(107):
如您所见,有两个文件,分别是test.js(在/ public目录中)和app.css(在/ web目录中),它们都没有加载都抛出404错误,我不知道我在做什么错了。
我正在使用FosRestBundle,我不知道该错误是否与FosRest配置有关。
这里是我的FosRest配置
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}SSO - DIOCESAN!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
<link rel="stylesheet" href="{{ asset('app.css') }}" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}
<script src="../public/test.js"></script>
{#<script src="{{ asset('assets/vendor/angular/angular.js') }}"></script>#}
{% endblock %}
</body>
</html>
有什么建议吗? 预先感谢。
答案 0 :(得分:1)
您需要将所有资产都放在公共目录中,而不是Web中。
在这种情况下:
<script src="../public/test.js"></script>
尝试为绝对网址添加此内容
编辑错误
<script src="{{ app.request.schemeAndHttpHost }}/test.js"></script>
对于资产案例,请检查此引用(或者您可以使用上一种情况下使用的相同方法):