模块化开发RequireJS之路径解析
1、requirejs遵循AMD规范,将需要的都加载好(前置加载)。注:cmd是就近加载。
define(['jQuery','dialog'],function($,d){
// 业务逻辑
})
(1)AMD采用异步加载,模块的加载不影响它后面语句的执行。
(2)所有依赖这个模块的语句,都定义在一个回调函数中,等前面需要加载的模块加载完成后这个回调函数才运行,解决了依赖性的问题。
2、requirejs路径解析
代码结构为:

示例代码:
index.html
<!doctype html>
<html lang="en"> <head>
<meta charset="UTF-8" />
<title>Document</title>
</head> <body>
<!--data-main 是入口文件js/main.js js/main都行-->
<script src="js/require.js" type="text/javascript" charset="utf-8" data-main="js/main"></script>
</body> </html>
main.js为
//配置文件
requirejs.config({
baseUrl:'js/',//默认是main.js所在的文件夹为基准。
paths:{
jquery:'jquery-1.12.4.min'//起个别名
}
}); //加载入口模块
requirejs(['index']);//从基准路径js下开始查找,谨记不能写为index.js
baseUrl指定了一个目录,然后requirejs基于这个目录来寻找依赖的模块。
baseUrl默认为main.js的路径
baseUrl+paths配置路径,如上面的main.js的代码:
jquery的路径为:js/jquery-1.12.4.min baseURl设置方式有三种:
(1)用requirejs.config显示指定baseUrl;
(2)如果指定了Entry Point(data-main)文件,则baseUrl为Entry Point所在目录;
(3)如果上述均未指定,则baseUrl为运行RequireJS的HTML文件所在目录。
模块化开发RequireJS之路径解析的更多相关文章
- 模块化开发RequireJS之shim配置
一.shim requirejs使用AMD规范开发,若开发过程中加载非AMD规范js,需要使用requirejs的shim进行配置. shim配置语法为: //配置文件 requirejs.confi ...
- 模块化开发(requireJS)
模块化 在前端使用模块化开发,可以将代码根据功能实施模块的划分,每个模块功能(职责)单一,在需要更改对应的功能的时候,只需要对指定的模块进行修改,其他模块不受任何影响. 为什么要进行前端模块化? 达到 ...
- Javascript模块化开发,使用模块化脚本加载工具RequireJS,提高你代码的速度和质量。
随着前端JavaScript代码越来越重,如何组织JavaScript代码变得非常重要,好的组织方式,可以让别人和自己很好的理解代码,也便于维护和测试.模块化是一种非常好的代码组织方式,本文试着对Ja ...
- 【模块化开发】------requireJS的基本使用------【巷子】
前言 为了提高代码的复用度,开发人员会按照功能把大量的js代码分成若干文件,这样在多个页面就可以使用同一个文件了.,下面是某个网站的js引用情况 虽然代码的复用度提升了,但是缺点也体现了出来 缺点: ...
- Angular 结合RequireJs实现模块化开发
angular的指令是模块化很好的一个体现,下面我将只使用指令(不用控制器),结合requirejs,实现模块化开发. 模块化关系图:
- requirejs:让人迷惑的路径解析
接触过requirejs的童鞋可能都知道,无论是通过define来定义模块,还是通过require来加载模块,模块依赖声明都是很重要的一步.而其中涉及到的模块路径解析,对于新手来说,有的时候会让人觉得 ...
- 在Html中使用Requirejs进行模块化开发
在前端模块化的时候,不仅仅是js需要进行模块化管理,html有时候也需要模块化管理.这里就介绍下如何通过requirejs,实现html代码的模块化开发. 如何使用requirejs加载html Re ...
- 转:requirejs:让人迷惑的路径解析(~~不错)
接触过requirejs的童鞋可能都知道,无论是通过define来定义模块,还是通过require来加载模块,模块依赖声明都是很重要的一步.而其中涉及到的模块路径解析,对于新手来说,有的时候会让人觉得 ...
- [工具配置]使用requirejs模块化开发多页面一个入口js的使用方式
描述 知道requirejs的都知道,每一个页面需要进行模块化开发都得有一个入口js文件进行模块配置.但是现在就有一个很尴尬的问题,如果页面很多的话,那么这个data-main对应的入口文件就会很多. ...
随机推荐
- JS内存管理与垃圾回收
内存分配 var n = 374; // 为数字分配内存 var s = 'sessionstack'; // 为字符串分配内存 var o = { a: 1, b: null }; // 为对象及其 ...
- 使用0填充string(构造类似‘00001’的字符串)
今天在对视频进行爬取的时候,发现url最后是000001,然后是000002,依次增加,而且每一个url请求只能得到一个分段了的视频,这种情况下构造url就成了一个问题. python有一个函数可以处 ...
- 【我要学python】愣头青之小数点精度控制
写在最前面:今天遇到了棘手的问题,看了两遍才看懂,本文属于转载+修改,原出处是Herbert's Blog 基础 浮点数是用机器上浮点数的本机双精度(64 bit)表示的.提供大约17位的精度和范围从 ...
- Sqli-labs less 8
Less-8 经过简单的测试,我们发现 'or 1=1--+返回正常,那么我们就基本知道应该怎么使用了,参考less5.这里简单的进行一个示例: http://127.0.0.1/sqllib/Les ...
- Python生成随机数的一些函数
头文件: import random 1.生成一个随机浮点数,范围是0-1: print random.random() 2.生成指定范围内的随机浮点数: print random.uniform(a ...
- 【BZOJ 1057】 1057: [ZJOI2007]棋盘制作
1057: [ZJOI2007]棋盘制作 Description 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源 于易经的思想,棋盘是一个8*8大小的 ...
- BZOJ 1066 [SCOI2007]蜥蜴(最大流)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1066 [题目大意] 在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些 ...
- 【dijkstra】【次短路】【fread】hdu6181 Two Paths
题意:给你一张简单无向图,问你1到n的次短路.注意,可以不是简单路径. 存个次短路板子,原理还是挺简单,直接看代码吧.然后这份代码还是个fread的示例用法. #include<cstdio&g ...
- 【数论】【快速幂】【扩展欧几里得】【BSGS算法】bzoj2242 [SDOI2011]计算器
说是BSGS……但是跟前面那题的扩展BSGS其实是一样的……因为模数虽然是质数,但是其可能可以整除a!!所以这两者其实是一样的…… 第一二种操作不赘述. #include<cstdio> ...
- 【最小割】BZOJ3438-小M的作物(Rank 2???!!!)(含新款Dinic模板)
一开始被T掉了之后,才害怕地发现之前写的Dinic基本上都是错的??!!!正确的写在注释里了,注意一下(;3<)馬鹿やろ 一个丧心病狂的优化前后效率对比: