js模块化开发——require.js的实战写法1

关于在Require.js使用一个JS插件的问题

我须要在项目中引用一个js控件,这个控件依赖于a.js,b.js,c.js,.....n.js N多个js以及jquery及jquery-ui,各js之间相互还有依赖关系,也就是说必须先加载某一部分才能加载另外一部分,最终才能加载整个控件。我 想使用require.js来引用他,以免在head部分书写过多的script标签,可是require.js是异步的,各js会在同一时间加载致使 浏览器报错,我应该如何处理这个问题?以下是个人配置代码,欢迎你们指正。css

require.config({
     baseUrl: "../../js/jsPlumb/" ,
     paths:{
         "jquery" : "http://cdn.bootcss.com/jquery/1.9.1/jquery.min" ,
         "jquery-ui" : "http://cdn.bootcss.com/jqueryui/1.10.2/jquery-ui.min" ,
         "jsBezier" : "lib/jsBezier-0.6-min" ,
         "mottle" : "lib/mottle-0.3" ,
         "biltong" : "lib/biltong-0.2" ,
         "katavorio" : "lib/katavorio-0.2" ,
         "util" : "src/util" ,
         "dom-adapter" : "src/dom-adapter" ,
         "jsPlumb" : "src/jsPlumb" ,
         "endpoint" : "src/endpoint" ,
         "connection" : "src/connection" ,
         "anchors" : "src/anchors" ,
         "defaults" : "src/defaults" ,
         "connectors-bezier" : "src/connectors-bezier" ,
         "connectors-statemachine" : "src/connectors-statemachine" ,
         "connectors-flowchart" : "src/connectors-flowchart" ,
         "renderers-svg" : "src/renderers-svg" ,
         "renderers-vml" : "src/renderers-vml" ,
         "connector-editors" : "src/connector-editors" ,
         "domPlumb" : "src/dom.jsPlumb"
     },
     shim:{
         "jquery-ui" :{
             deps:[ 'jquery' ],
             exports: "jquery-ui"
         },
         
         "jsPlumb" :{
             deps:[
                 "jquery" ,
                 "jquery-ui" ,
                 "jsBezier" ,
                 "mottle" ,
                 "biltong" ,
                 "katavorio" ,
                 "util" ,
                 "dom-adapter" ,
                 "endpoint" ,
                 "connection" ,
                 "anchors" ,
                 "defaults" ,
                 "connectors-bezier" ,
                 "connectors-statemachine" ,
                 "connectors-flowchart" ,
                 "renderers-svg" ,
                 "renderers-vml" ,
                 "connector-editors" ,
                 "domPlumb"
             ],
             exports: "jsPlumb"
         }
     }
});
 
require([ "jquery" , "jquery-ui" , "jsPlumb" ], function ($,ui){
     var GHandler = jsPlumb.getInstance();
     GHandler.draggable($( "#btn" ));
})
这个控件的名称叫作jsplumb用于图形拖拽及连线的。jquery及jquery-ui使用cdn,jsplumb放在本地目录js/jsplumb下
相关文章
相关标签/搜索