为什么使用requirejs?

1、异步加载文件;
2、模块化开发:一个文件即是一个模块,减少全局变量。

相关方法

1、define()定义模块

define('moduleName可选', [依赖的模块], function (
依赖的模块别名) {return 返回值;
});

2、require()加载模块

require([加载模块], function (加载模块别名) {具体实现代码
});

加载文件

Require JS以一个相对与baseUrl的地址来加载所有的代码,有三种方式:

  1. 相对于html页面;
  2. 相对于data-main中引入的文件路径
  3. 通过requirejs.config({baseUrl:'/js'})来配置

加载机制

1、Require JS 使用head.appendChild()将每一个依赖加载为一个script标签。

2、加载即执行,加载js文件时候就执行里面相关的代码。

相关参数

1、 paths 映射不放于baseUrl下的模块名;

requirejs.config({baseUrl: 'js/libs',paths: {'jquery': ['\\cdn.....',//cdn路径'js/jquery'//备选路径]}});

2、 shim
对于不支持amd规范(即不使用defind和require编写)的js引入,可通过使用shim来配置。同时还可以定义相关文件之间的依赖

shim: {'modernizr': {deps: ['jquery'],  // 依赖的模块exports: 'Modernizr', // 全局变量作为模块对象init: function(){  // 初始化函数,返回的对象代替exports作为模块对象return $;}}
}

3、map
用来配置多个版本依赖来进行引入。

map: {'*': 'libs/jquery','api/app2': 'libs/jquery2' // 除api/app2以外的引用jquery版本
}

4、waitSeconds

下载js等待的时间,默认为7秒,超过7秒requirejs抛出错误。如果设为0,则禁用等待超时。

5、urlArgs

下载文件时,在url后面增加额外的查询参数

urlArgs: '_=' + (new Date()).getTime() // 下载文件时,在后面增加当前时间戳

相关插件

1、text.js插件
用于加载文本文件的requirejs插件,通过ajax请求来加载文本,所以使用时会有跨域的限制,需要在paths里配置css的加载路径。

require(['text!/user.html!strip'], function (template) {console.log(template);
}
// 后面的参数strip表示过滤掉引入html页面中的html、head、body标签,只保留代码片段

2、css.js插件
用于加载样式文件的requirejs插件,需要在paths里配置css的加载路径。

require(['css!/style.css'], function (css) {console.log(css);
}

requireJS常用用法相关推荐

  1. 【Android 异步操作】Handler 机制 ( Handler 常用用法 | HandlerThread 简介 | HandlerThread 源码注释分析 )

    文章目录 一.Handler 常用用法 二.HandlerThread 简介 三.HandlerThread 源码 一.Handler 常用用法 主线程 Handler 主要作用 : Looper 和 ...

  2. 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )

    文章目录 一.Timer 定时器基本使用 二.Timer 定时器常用用法 三.Timer 源码分析 四.Timer 部分源码注释 五.源码及资源下载 参考文档 : Timer 定时器 API 文档 T ...

  3. 【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )

    文章目录 I . 枚举类常用用法 II . 枚举类初始化 III. 枚举类匿名类 IV . 枚举类实现接口 V . 获取枚举常量名称和位置索引 VI . 获取枚举常量的成员变量 VII . 调用枚举常 ...

  4. Python中的基本函数及其常用用法简析

    分享Python中的基本函数及其常用用法简析,首先关于函数的解释函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一功能或者功能片段的代码块,简单来说就是由一系列的程序语句组成的程 ...

  5. 【Data Mining】机器学习三剑客之Numpy常用用法总结

    点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自AI蜗牛车,禁二次转载 一.前言 玩数据分析.数据挖掘.AI的都知道这个pyt ...

  6. grep参数说明及常用用法

    grep参数说明及常用用法 查看文件内容 [kou@localhost ~]$ more size.txt b124230 b034325 a081016 m7187998 m7282064 a022 ...

  7. [转]ssh常用用法小结

    ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...

  8. 关于grep,egrep正则表达式的常用用法

    正则表达式是一类字符所书写的模式(pattern) 元字符:不表示字符本身的意义,而用于额外功能性的描述:而如果在这些特定的字符前加/这个符号那么这些字符就表示原有的意思. 正则表达式:基本正则表达式 ...

  9. Python格式化字符串f-string常用用法

    简介: f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal ...

最新文章

  1. Kafka的生产者优秀架构设计
  2. 千人千面,撩拨你的个性化广告
  3. sizeof和strlen解析
  4. java字节码忍者禁术
  5. Module的加载实现
  6. 用java实现云计算的两种趋势性方法
  7. java.io.serializable_java.io.Serializable浅析 | 学步园
  8. 二、appium的原理
  9. 新元宇宙每周连载《地球人奇游天球记》第十五回土星种菜
  10. 无人机视觉检测算法研究及数据集汇总
  11. 利用辗转相除法——求最大公约数(详解)
  12. 5.Python数据分析项目之文本分类-自然语言处理
  13. 淘宝总裁蒋凡:今年双11淘宝推荐流量超过了搜索流量
  14. 高中数学数列解题:技巧数列大题—错位相减
  15. Mysql修改数据库名
  16. 大家在人生低谷时有多惨,怎么熬过来的(五)
  17. 自我管理类书籍推荐,提高自我管理能力就靠这本书了!
  18. 【Python】配置Python环境
  19. 细细探究MySQL Group Replicaiton — 配置维护故障处理全集
  20. 产品经理的战争:“产品已死 还是产品为王”?

热门文章

  1. oppo SDK接入
  2. Remote Execution - SaltStack远程执行模块使用指南
  3. python基础-廖雪峰
  4. Basler工业相机python开发(Pypylon)
  5. 猴子搬香蕉Java实现,儿童编程游戏CodeMonkey,让你的小猴子不停地吃香蕉
  6. [转载]17岁高考落榜生成为世界顶尖IT高手
  7. 线性代数矩阵乘法中的行向量和列向量
  8. 淘宝sku API 接口(PHP示例)
  9. 线性回归 正规方程详细推导过程
  10. Kubernetes 在本来生活网的落地实践