javascript
使用requireJS的shim參数,完毕jquery插件的载入
沒有requireJS框架之前,假設我們想使用jquery框架,會在HTML頁面中通過<script>標簽載入。這個時候jquery框架生成全局變量$和jQuery等全局變量。假設項目中引用了requireJS框架。採用模塊化的方式載入jquery,那么jquery不會再加入全局變量$和jQuery。如今問題來了,盡管jquery框架已經開始支持AMD規范,可是jquery的眾多插件還是不支持AMD,仍然像曾經一樣須要使用全局變量$。
jquery插件大多都是例如以下結構:
(function( $, undefined ) {})( jQuery );?
假設我們項目中使用了jquery插件。可是jquery框架是通過requireJS載入的(不會加入全局變量$)。那怎么完畢jquery插件的載入呢?使用傳統的方,在HTML頁面中通過<script>載入jquery插件,肯定是不行的。
這個時候我們須要使用到
requireJS的shim參數,來完畢jquery插件的載入。以下我們以載入jquery-ui的slider插件為例:
requirejs.config({shim: {'jquery.ui.core': ['jquery'],'jquery.ui.widget': ['jquery'],'jquery.ui.mouse': ['jquery'],'jquery.ui.slider':['jquery']},paths : {jquery : 'jquery-2.1.1/jquery',domReady : 'require-2.1.11/domReady','jquery.ui.core' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.core','jquery.ui.widget' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.widget','jquery.ui.mouse' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.mouse','jquery.ui.slider' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.slider'} });require([ 'jquery', 'domReady','jquery.ui.core','jquery.ui.widget','jquery.ui.mouse','jquery.ui.slider'],function($) {$("#slider" ).slider({value:0,min: 0,max: 4,step: 1,slide: function( event, ui ) {} }); });?
在path參數中,我們設置了模塊名稱(能夠任意指定)和js文件路徑的映射,然后在shim參數中,指定了模塊名稱和它的依賴數組,上面我們的jquery插件僅僅依賴于jquery框架。通過這樣的方式,就能夠使用requireJS完畢jquery和其插件的載入,不會有全局變量污染問題。
?
轉載于:https://www.cnblogs.com/gcczhongduan/p/5238364.html
總結
以上是生活随笔為你收集整理的使用requireJS的shim參数,完毕jquery插件的载入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2013计算机视觉代码合集一
- 下一篇: 转载:CSS垂直居中总结