2017-12-18 258 views
0

我在Angular4中工作,我正在使用Webpack安装程序构建应用程序。我想在我的项目中使用jQuery,所以我搜索了它并发现了Webpack提供给全局加载模块的ProviderPlugin在Webpack 2中加载ProvidePlugin的jQuery在路由更改后无法工作

但是,我面临的问题有点奇怪,当页面加载页面时第一次工作正常,所有与jQuery相关的代码都可以正常工作,但是当我更改页面或路由时,jQuery失去了它的功能,因此页面无法按预期工作。难道我失去了一些东西,我用插件的代码是标准

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

我要寻找其他的解决方案,以及,如果有其他方法可以做到,那么请注明这将是一个很大的帮助。

非常感谢。

回答

0

你也可以使用HtmlWebpackPlugin来创建你的html页面。并设置注入: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' 
}) 
+0

您好再次,感谢您的回答,我没有按照你的建议,但没有奏效。我做了这样的事情 '新HtmlWebpackPlugin({ 模板: './src/index.html', 文件名: '的index.html', 注入:真 })' –

+0

Hhmmm通过NPM没有你donwload的jQuery ?提示:HtmlWebpackPlugin不是必需的jQuery作品只是一个插件,可以更快地创建html页面。您可以阅读您的文档以获取更多信息。 –

+0

是的,我通过NPM下载了jQuery。 –

相关问题