我在Angular4工作,我正在使用Webpack设置来构建应用程序。我想在我的项目中使用jQuery,所以我搜索了它,发现Webpack提供的ProviderPlugin
全局加载模块。
但是,我面临的问题有点奇怪;第一次页面加载页面工作正常,所有与jQuery相关的代码都可以正常工作,但是当我更改页面或路由时,jQuery失去了它的功能,后续的页面也没有按预期工作。我错过了什么,我用于插件的代码是标准的
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
我正在寻找其他解决方案,如果有其他方法可以做,请提及它将是一个很大的帮助。
非常感谢你。
答案 0 :(得分: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'
})