Не могу загрузить активы на Symfony 4

У меня проблемы с веб-приложением на Symfony 4

Я создал шаблон ветки и начал добавлять некоторые активы, в данном случае с файлом Js для полноты функциональности. Но когда я захожу в браузер, файл Js не загружается, он появляется с ошибкой 404.

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):

Это мой файл ветки

<!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>

Как видите, есть два файла: test.js (в каталоге /public) и app.css (в каталоге /web), ни один из них не загружается, оба выдают ошибку 404, я не знаю, что делаю. неправильный.

Я использую FosRestBundle, я не знаю, связана ли эта ошибка с конфигурацией FosRest.

Вот моя конфигурация FosRest

fos_rest:
    allowed_methods_listener: true
    serializer:
        serialize_null: true
    body_listener:
        array_normalizer: fos_rest.normalizer.camel_keys
    body_converter:
        enabled: true
    disable_csrf_role: ROLE_API
    format_listener:
        rules:
            - { path: '^/sso/menu', priorities: ['html'], fallback_format: 'html', prefer_extension: false }
            - { path: '^/public/request-password', priorities: ['html'], fallback_format: 'html', prefer_extension: true }
            - { path: '^/', priorities: ['json'], fallback_format: 'json', prefer_extension: false }
    routing_loader:
        default_format:  json
        include_format: false
    view:
        view_response_listener: true
        formats:
            json: true
            xml: false
            rss: false
            html: true
        mime_types:
            json: ['application/json', 'application/x-json']
        jsonp_handler: false
    exception:
        enabled: true

Любое предложение? Заранее спасибо.

А вы пробовали {{ asset('assets/app.css') }}?

DEarTh 01.03.2019 14:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
1
2 632
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно иметь все активы в общедоступном каталоге, а не в Интернете.

Для этого случая:

<script src = "../public/test.js"></script> 

Попробуйте добавить это для абсолютного URL

РЕДАКТИРОВАТЬ за ошибку

<script src = "{{ app.request.schemeAndHttpHost }}/test.js"></script>

Для случая актива проверьте эту ссылку (или вы можете использовать тот же метод, что и в последнем случае):

Включение ресурсов (CSS, JS) в шаблон Symfony 4 / Twig

Другие вопросы по теме