Я пытаюсь реализовать Webpack Encore в моем Symfony проекте. Я только что добавил SweetAlert2 с узлом (npm i sweetalert2 --dev
).
Моя "проблема" заключается в том, что я не понимаю, как правильно использовать этот пакет после установки. Я читал другие вопросы, но я не понимаю, куда мне нужно их импортировать.
Пока что я пробовал:
- Создание файла внутри
/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?