2016-06-09 119 views
4

我正試圖用jpack加載jquery-webpack。但到目前爲止沒有運氣。使jQuery-Mobile與webpack一起工作

這是jQuery的& jQuery的移動我webpack.config代碼:

loaders: [ 
    { 
     test: /jquery.mobile.js$/, 
     loader: "imports?define=>false,this=>window" 
    }, 

resolve: { 
    alias: { 
     "jquery": "jquery/src/jquery", 
     "jquery-mobile": "jquery-mobile/dist/jquery.mobile" 
    }, 
}, 

plugins: [ 
    new webpack.ProvidePlugin({ 
     $: "jquery", 
     jQuery: "jquery", 
     "window.jQuery": "jquery" 
    }), 
] 

這是jquery.mobile文件中的函數引起麻煩:

(function (root, doc, factory) { 
    if (typeof define === "function" && define.amd) { 
     // AMD. Register as an anonymous module. 
     define([ "jquery" ], function ($) { 
      factory($, root, doc); 
      return $.mobile; 
     }); 
    } else { 
     // Browser globals 
     factory(root.jQuery, root, doc); 
    } 
}(this, document, function (jQuery, window, document, undefined) { 
(function($) { 
    $.mobile = {}; 
}(jQuery)); 

的問題是, root.jQuery是未定義的。在那個函數「this」===「window」裏面,當我用imports-loader注入這個=>窗口時,我檢查了這個。

而另一個奇怪的時刻:如果我取代「本」與「窗口」這樣的:

}(window, document, function (jQuery, window, document, undefined) { 

一切都變得很好。但我無法修改jquery.mobile文件,這可能會在未來造成麻煩。

任何幫助將不勝感激,謝謝!

+1

你有沒有圖這一個出來?我已經嘗試了所有我能找到的解決方案,而且沒有任何成效我得到「無法讀取未定義的屬性'userAgent'」,因爲window.navigator未定義。 – Zacho

+0

不,不幸的是,我只好回到jquery-ui。 – BusseBu

回答