2017-12-18 338 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。 –

相關問題