Symfony + Webpack с использованием узловых пакетов внутри шаблонов - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь реализовать Webpack Encore в моем Symfony проекте. Я только что добавил SweetAlert2 с узлом (npm i sweetalert2 --dev).

Моя "проблема" заключается в том, что я не понимаю, как правильно использовать этот пакет после установки. Я читал другие вопросы, но я не понимаю, куда мне нужно их импортировать.

Пока что я пробовал:

  1. Создание файла внутри /assets/js/swal.js , Кроме того, я пробовал с ES5, а также:
import Swal from 'sweetalert2';

export const swal = (message, type) => {
    Swal.fire({
        position: 'top-end',
        icon: type,
        title: message,
        showConfirmButton: false,
        timer: 1500
    });
}
Добавьте его к webpack.config.js в качестве точки входа:
.addEntry('app', './assets/js/app.js')
.addEntry('swal', '/assets/js/swal.js')

Добавьте его в качестве актива в шаблон с помощью <script src="{{ asset('js/swal.js') }}"></script>. Возможно, стоит упомянуть, что я пробовал все пути, и PHPStorm не распознает ни один из них.

Распечатайте функцию или класс внутри шаблона Twig:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}

        {{ encore_entry_link_tags('app') }}
    </head>
    <body>
        {% block body %}{% endblock %}

        {{ encore_entry_script_tags('app') }}
        {% block javascripts %}{% endblock %}

        {% if app.flashes is not empty %}
            <script>
                console.log(swal);
            </script>
        {% endif %}
    </body>
</html>

Я также пытался импортировать его с require(), но require не является идеальным.

Что мне нужно сделать, чтобы реализовать эту функцию и отобразить ее в шаблоне Twig?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...