jQuery, загруженный с ProvidePlugin в Webpack 2, не работает после изменения маршрута

Я работаю в Angular4 и использую настройки Webpack для сборки приложения. Я хочу использовать jQuery в своем проекте, поэтому я нашел его в Google ProviderPlugin это предлагается Webpack для глобальной загрузки модулей.

Однако проблема, с которой я сталкиваюсь, немного странная; в первый раз, когда страница загружается, страница работает нормально, и весь код, связанный с jQuery, работает нормально, но когда я изменяю страницу или маршрут, jQuery теряет свою функциональность, и последующие страницы не работают должным образом. Я что-то упустил, код, который я использовал для плагина, стандартный

new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })

Я также ищу другие решения, если есть другие способы сделать это, пожалуйста, отметьте, что это было бы очень полезно.

Огромное спасибо.

1 ответ

Также вы можете использовать HtmlWebpackPlugin, который будет создавать ваши HTML-страницы. И установить inject:true. Вероятно, проблема заключается в том, что при попытке доступа к другой странице jquery не объявляется, поэтому вам нужна главная страница шаблона с jquery, и из этого шаблона создайте следующие html-страницы. Пример ниже:

new HtmlWebpackPlugin({
  filename: 'index.html',
  template: 'index.html',
  inject: true
})

Поэтому скачайте пакет в npm, настройте, установите его и настройте.

Также вы можете отредактировать вставку jquery следующим образом:

new webpack.ProvidePlugin({
  $: 'jquery',
  jquery: 'jquery',
  'window.jQuery': 'jquery', 
  jQuery: 'jquery'
})
Другие вопросы по тегам