2016-06-09 81 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

回答

相关问题