在路由更改后,Webpack 2中使用ProvidePlugin加载的jQuery不起作用

问题描述 投票:0回答:1

我在Angular4工作,我正在使用Webpack设置来构建应用程序。我想在我的项目中使用jQuery,所以我搜索了它,发现了Webpack为全局加载模块提供的ProviderPlugin

但是,我面临的问题有点奇怪;第一次页面加载页面工作正常,所有与jQuery相关的代码工作正常,但当我更改页面或路由时,jQuery失去其功能,后续页面无法按预期工作。我错过了什么,我用于插件的代码是标准的

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

我正在寻找其他解决方案,如果还有其他方法可以做,那么请提一下这将是一个很大的帮助。

非常感谢。

javascript jquery angular webpack webpack-plugin
1个回答
0
投票

您还可以使用将创建html页面的HtmlWebpackPlugin。并设置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'
})
© www.soinside.com 2019 - 2024. All rights reserved.