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"));})js模块化开发——require.js的实战写法1的更多相关文章
- JS模块化开发----require.js
前言 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应用也广泛起来了,jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得前 ...
- js模块化开发——require.js的用法详细介绍(含jsonp)
RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签脚本加载步骤.可以用它回事.优化代码,但其主要的目的还是为了代码的模块化.它鼓励在使用脚本以moudle ...
- js模块化开发——require.js的用法
这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的 ...
- js模块化开发——require.js学习总结
1.为什么使用require.js 作为命名空间: 作为命名空间使用: 异步加载js,避免阻塞,提高性能: js通过require加载,不必写很多script 2.require.js的加载 requ ...
- JS模块化工具require.js教程(一):初识require.js
随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作.模块复用.单元测试等等一系列复杂的需求 ...
- JS模块化工具require.js教程(二):基本知识
前一篇:JS模块化工具我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等 基本API require会定义三个变量:define,r ...
- JS模块化开发:使用SeaJs高效构建页面
一.扯淡部分 很久很久以前,也就是刚开始接触前端的那会儿,脑袋里压根没有什么架构.重构.性能这些概念,天真地以为前端===好看的页面,甚至把js都划分到除了用来写一些美美的特效别无它用的阴暗角落里,就 ...
- Js模块化开发的理解
Js模块化开发的理解 模块化是一个语言发展的必经之路,其能够帮助开发者拆分和组织代码,随着前端技术的发展,前端编写的代码量也越来越大,就需要对代码有很好的管理,而模块化能够帮助开发者解决命名冲突.管理 ...
- JS模块化开发(三)——seaJs+grunt
1.seaJs直接构建存在的问题 由于模块之间的依赖require引用的是模块名,当多个js模块被合并成一个时,会由于找不到模块名而报错 2.seaJs+grunt开发 用到的插件:grunt-cmd ...
随机推荐
- List和ArrayList之间转换的例子
package Test01; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public c ...
- pop动画使用示例
// 弹簧动画 POPSpringAnimation *anim = [POPSpringAnimation animationWithPropertyNamed:kPOPViewFrame]; an ...
- UITableviewCell 重用内存
转载自:http://www.cnblogs.com/tangbinblog/p/3371545.html 重用实现分析 查看UITableView头文件,会找到NSMutableArray* vi ...
- JAVA List<T> 如何初始化
通常用法:List<类型> list=new ArrayList<类型>();List是一个接口,不可实例化,通过实例化其实现类来使用List集合,他的最常用实现类ArrayL ...
- .OpenWrt驱动程序Makefile的分析概述 、驱动程序代码参考、以及测试程序代码参考
# # # include $(TOPDIR)/rules.mk //一般在 Makefile 的开头 include $(INCLUDE_DIR)/kernel.mk // 文件对于 软件包为内核时 ...
- OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波
http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...
- MountService初探
MountService作为Vold的客户端,会接收来自vold的消息,并且内部定义保存了各种Volume相关的状态定义: 1.VolumeState class VolumeState { publ ...
- svn branch 的使用
svn revision graph 中选中 "wc"(Mark current revision of your working copy.)这个选项后, 当前工作副本的版本号会 ...
- html5 canvas 实现简单的画图
今天早上看了一下 canvas 前端画图,数据可视化, 百度的 echart.js , d3等 js 库都已经提供了强大的绘制各种图形的 API. 下面记录一下 有关canvas 绘图的基本知识: ...
- 考分鄙视(exam)
考分鄙视(exam) 题目描述 Whence这个学期考了n次试,每一次都有一个0-20000之间的整数分数.Whence本来的状态应该是每一次考试都比前一次多一分(除第一次),但由于他很不稳定,偏差可 ...