javascript
使用requireJS的shim參数,完毕jquery插件的载入
沒有requireJS框架之前,假設(shè)我們想使用jquery框架,會(huì)在HTML頁(yè)面中通過<script>標(biāo)簽載入。這個(gè)時(shí)候jquery框架生成全局變量$和jQuery等全局變量。假設(shè)項(xiàng)目中引用了requireJS框架。採(cǎi)用模塊化的方式載入jquery,那么jquery不會(huì)再加入全局變量$和jQuery。如今問題來了,盡管jquery框架已經(jīng)開始支持AMD規(guī)范,可是jquery的眾多插件還是不支持AMD,仍然像曾經(jīng)一樣須要使用全局變量$。
jquery插件大多都是例如以下結(jié)構(gòu):
(function( $, undefined ) {})( jQuery );?
假設(shè)我們項(xiàng)目中使用了jquery插件。可是jquery框架是通過requireJS載入的(不會(huì)加入全局變量$)。那怎么完畢jquery插件的載入呢?使用傳統(tǒng)的方,在HTML頁(yè)面中通過<script>載入jquery插件,肯定是不行的。
這個(gè)時(shí)候我們須要使用到
requireJS的shim參數(shù),來完畢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參數(shù)中,我們?cè)O(shè)置了模塊名稱(能夠任意指定)和js文件路徑的映射,然后在shim參數(shù)中,指定了模塊名稱和它的依賴數(shù)組,上面我們的jquery插件僅僅依賴于jquery框架。通過這樣的方式,就能夠使用requireJS完畢jquery和其插件的載入,不會(huì)有全局變量污染問題。
?
轉(zhuǎn)載于:https://www.cnblogs.com/gcczhongduan/p/5238364.html
總結(jié)
以上是生活随笔為你收集整理的使用requireJS的shim參数,完毕jquery插件的载入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2013计算机视觉代码合集一
- 下一篇: gradle idea java ssm