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会在同一时间加载导致 浏览器报错,我应该如何处理这个问题?如下是我的配置代码,欢迎大家指正。

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下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值