Я пытаюсь выяснить, что именно происходит с использованием Jquery с помощью функции ProvidePlugin в Webpack.У меня есть эта настройка:
plugins: [
CSSExtract,
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
'window.jQuery': 'jquery'
})
Когда я console.log "$" где-нибудь в моем приложении React, это ясно показывает, что Jquery присутствует.Тем не менее Bootstrap, , который я загружаю извне из тега сценария , выдает мне эту ошибку:
ncaught TypeError: Невозможно прочитать свойство 'fn' из неопределенного
Что, конечно, подразумевает, что Jquery нет.Я очень мало знаю обо всем этом, но из того, что я понимаю, это какая-то проблема определения объема.
Причина, по которой я загружаю "нормальную" загрузочную версию, заключается в том, что я использую какой-то шаблон HTML, который не имеет ничего общего с реакцией.
Может кто-нибудь уточнить, почему этот Jquery Webpackплагин не делает его доступным во всем мире?
Какой был бы правильный подход, чтобы эта функциональность начальной загрузки работала?Повторная загрузка Jquery из тега script кажется мне совершенно ненужной и проблематичной.
РЕДАКТИРОВАТЬ: хорошо, я понял свою ошибку, я должен был загрузить загрузчик из компонента React, как и любой другой сторонний модуль.Тем не менее, я был бы рад услышать простое техническое объяснение, почему Jquery не был доступен для загруженного извне загрузчика.Я знаю, что это «интуитивно понятно», но я не смог бы точно объяснить, почему, с моими ограниченными знаниями.
Другое редактирование: это потому, что bundle.js загружается после скриптов jquery и bootstrap?