Я попробовал решение по этому вопросу, и, хотя он отлично работает, если я хочу, чтобы мой сценарий на каждой странице: как импортировать jQuery в качестве глобальной переменной с AssetMapper Symfony? ImportMap: установить ; тот, который зависит от jQuery как глобальной переменной. Эти два пакета: < /p>
Я импортировал их и добавил как $ , так и jquery в качестве глобальных переменных в окне в сценарий, который я импортирует в основных Assets/app.js file:
Код: Выделить всё
// assets/provide_jquery.js
import $ from 'jquery';
window.$ = window.jQuery = $;
< /code>
// assets/app.js
import './provide_jquery.js';
import 'jquery.counterup';
< /code>
Which works great. However, I usually don't want jquery-counterup
загружен; Я хочу только на очень конкретных страницах.
Код: Выделить всё
< /code>
It will give me this error:
Uncaught ReferenceError: jQuery is not defined
< /code>
Of course, once the page loads, console.log(jQuery)
работает, потому что глобальная переменная теперь определена. Таким образом, сценарий jquery-counterup , по-видимому, загружается до того, как глобальные переменные будут объявлены. /> И это работает ... но это лучший способ? Такое ощущение, что я укладываю хакеры в верхней части взломов, чтобы заставить это работать, и есть что -то фундаментальное, которое я скучаю.>
Подробнее здесь:
https://stackoverflow.com/questions/796 ... eclaration