Symfony Как подключить jquery в Symfony 5 через Encore?

shindax

Новичок
Добрый день.

Symfony 5 , как подключить jQuery через Encore.
В assets/app.js:
<code>
...
const $ = require('jquery');
global.$ = global.jQuery = $;
...
</code>
В webpack.config.js:
<code>
...
// uncomment if you're having problems with a jQuery plugin
.autoProvidejQuery()
...
</code>
Запускаю yarn encore dev --watch, все компилируется без ошибок. В шаблоне пишу:
<code lang="html">
...
<script>
console.log( $ )
</script>
</code>
Получаю Uncaught ReferenceError: $ is not defined. Если в самом шаблоне подключить jquery.min.js через <code><script src="...">...</code> , все работает, но хотелось-бы сделать все идеологически верно, через Encore. Документацию читал и переводную, и оригинальную. Что я упустил? Спасибо.
 

WMix

герр M:)ller
Партнер клуба
не думаю что симфония в чем-нить провинилась, но следи за запросами ответами, твоя ошибка в браузере, там нет php
 

shindax

Новичок
Разобрался.
Все компилировалось нормально. В шаблоне, вот этот код:
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}

Подключал нужные <script src="...>, но теги script выводилиись с атрибутом defer, поэтому и не работало.
Решение простое. В файле config\packages\webpack_encore.yaml заменил:
...
script_attributes:
defer:true
...
на
...
script_attributes:
defer: false
...
Ответ нашел здесь:
https://symfony.com/blog/moving-script-inside-head-and-the-defer-attribute
Всем спасибо.
 
Сверху