大家好~
我需要在项目中引用一个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下
补充错误信息截图:
文件目录截图:
Sdada
自己看下控制台报什么错
baseUrl:"../../js/jsPlumb/"
注意这个,是否引起了报错,基本路径,说明后面引用的js都会经过这个路径。。。
回复<aclass='referer'target='_blank'>@arrowing:关键也不知道他这个插件内部的依赖是怎么样的回复<aclass='referer'target='_blank'>@arrowing:图补充在问题里了,看看回复<aclass='referer'target='_blank'>@Kent_Chen:那你把报错信息发出来看看这个没问题,引用路径肯定是正确的。不会犯这么低级的错误。<preclass="brush:js;toolbar:true;auto-links:false;">require(["jquery","jquery-ui","jsPlumb"],function($,ui/ 加入/,jsPlumb/ 加入/){varGHandler=jsPlumb.getInstance();GHandler.draggable($("#btn"));})这里是jqueryUi依赖jquery
你不知道?按这个格式写不就好了。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。