2015-06-26 62 views
0

我正在嘗試使用Webpack來引入JS模塊,包括jQuery和jQuery插件。我可以在沒有任何問題的情況下加載jQuery,但是當我嘗試加載插件以使用它時,我的瀏覽器控制檯中出現jQuery is not defined錯誤。我對Common JS和Webpack相當陌生,所以任何幫助都會非常感謝。使用CommonJS加載jQuery插件

這裏是我到目前爲止的代碼:

var $ = require('../../../../../bower_components/jquery/dist/jquery.js'); 
require('../../../../../bower_components/jquery.uniform/jquery.uniform.js'); 

module.exports = function(){ 
    function init(){ 
     $('select, checkbox').uniform(); 
    } 

    return { 
     init: init 
    }; 
}(); 

這是在jquery.uniform.js文件,我得到我上面提到的錯誤結束,因爲它引用jQuery,由於某種原因尚未確定。

(function (wind, $, undef) { 
    ... 
    ... 
}(this, jQuery)); 

任何想法如何使這項工作?還是我這樣做完全錯了?

回答

0

我想你可能想要通過npm。成立了package.json DEP是這樣的:

"uniform": "pixelmatrix/uniform#v2.1.2", 

另外,還要確保jquery是您的項目(即npm i jquery --save)內。

這些步驟後,你可以嘗試導入這樣的:

var uniform = require('imports?$=jquery!uniform/jquery.uniform'); 

你應該能夠給討厭的進口推到提供該作品的WebPack配置。我希望這有幫助!

+0

有趣。如果我走這條路線,是否真的需要鮑爾?或者npm本質上接管了鮑爾的角色?如果答案是肯定的,那可能會讓事情變得更簡單 – user1224298

+0

是的,通常你可以用npm來代替。它傾向於和Webpack一起工作,儘管你可能需要每隔一段時間稍微修改一下。 –