requirejs的用法与特点
2017-12-18 15:14
155 查看
requirejs具有如下优点:
1.防止js加载阻塞页面渲染
2.使用程序调用的方式加载js,防出现如下丑陋的场景
require.js的用法
1.在index.html文件中
2.在a.js中
require会定义三个变量:define,require,requirejs,
其中require === requirejs,一般使用require更简短
define 从名字就可以看出这个api是用来定义一个模块
require 加载依赖模块,并执行加载完后的回调函数
来加载该模块(注意require中的依赖是一个数组,即使只有一个依赖,你也必须使用数组来定义),require API的第二个参数是callback,一个function,是用来处理加载完毕后的逻辑,如:
注意本地加载文件的书写格式与加载外部文件格式的不同
1.本地加载文件书写格式
2.外部文件书写格式
3.通过paths的配置会使我们的模块名字更精炼,paths还有一个重要的功能,就是可以配置多个路径,如果远程cdn库没有加载成功,可以加载本地的库,如:
全局配置
1.新建一个main.js文件中
2.再在require.js文件中添加data-main属性
AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制。
在加载依赖项时,AMD用的是异步,而dojo.require是同步。异步和同步的区别显而易见,前者不
会阻塞浏览器,有更好的性能和灵活性。而对于NodeJs这样的服务器端AMD,则模块载入无需阻塞
服务器进程,同样提高了性能。
define和require这两个定义模块、调用模块的方法,合称为AMD模式。
1.防止js加载阻塞页面渲染
2.使用程序调用的方式加载js,防出现如下丑陋的场景
require.js的用法
1.在index.html文件中
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="require.js"></script> <script type="text/javascript"> require(["a"]); </script> </head> <body> <span>body</span> </body> </html>
2.在a.js中
define(function(){ function fun1(){ alert("it works"); } fun1(); })
require会定义三个变量:define,require,requirejs,
其中require === requirejs,一般使用require更简短
define 从名字就可以看出这个api是用来定义一个模块
require 加载依赖模块,并执行加载完后的回调函数
来加载该模块(注意require中的依赖是一个数组,即使只有一个依赖,你也必须使用数组来定义),require API的第二个参数是callback,一个function,是用来处理加载完毕后的逻辑,如:
require(["js/a"],function(){ alert("load finished"); })
注意本地加载文件的书写格式与加载外部文件格式的不同
1.本地加载文件书写格式
require(["js/a"],function($){ $(function(){ alert("load finished"); }) })
2.外部文件书写格式
require.config({ // 配置加载文件格式的变量 paths : { "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery"] } }) require(["jquery","js/a"],function($){ // 对定义的变量进行引用 $(function(){ alert("load finished"); }) })
3.通过paths的配置会使我们的模块名字更精炼,paths还有一个重要的功能,就是可以配置多个路径,如果远程cdn库没有加载成功,可以加载本地的库,如:
require.config({ paths : { "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery", "js/jquery"], "a" : "js/a" } }) require(["jquery","a"],function($){ $(function(){ alert("load finished"); }) })
全局配置
1.新建一个main.js文件中
require.config({ paths : { "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery", "js/jquery"], "a" : "js/a" } })
2.再在require.js文件中添加data-main属性
<script data-main="js/main" src="js/require.js"></script>
AMD规范就是其中比较著名一个,全称是Asynchronous Module Definition,即异步模块加载机制。
在加载依赖项时,AMD用的是异步,而dojo.require是同步。异步和同步的区别显而易见,前者不
会阻塞浏览器,有更好的性能和灵活性。而对于NodeJs这样的服务器端AMD,则模块载入无需阻塞
服务器进程,同样提高了性能。
define和require这两个定义模块、调用模块的方法,合称为AMD模式。
相关文章推荐
- RequireJS - 用法
- innerHTML、outerHTML、innerText的用法和特点
- JAVA Map、Set、List、Queue、Stack的特点与用法
- sizeof有哪些特点以及sizeof的用法
- Map、Set、List、Queue、Stack的特点与用法
- 转:JS中scrollLeft(right,top,bottom)的用法和特点
- 详谈Picasso图片缓存库特点及用法
- cssText的用法及特点
- 黑马程序员_5JAVA基础 继承 final的用法以及抽象类的特点
- 16. Map、Set、List、Queue、Stack的特点与用法。
- sizeof的特点和用法
- Map、Set、List、Queue、Stack的特点与用法
- 类和对象&对象引用和this的引用&构造器作用和构造器重载&继承的特点和用法
- Map、Set、List、Collection、Queue、Stack的特点与用法。
- requirejs 用法详解
- RequireJS:javascript模块化工具基本用法详解
- String,StringBuilder和StringBuidler的特点与用法
- requirejs 简单用法
- static(静态)关键字的特点和用法
- sizeof有哪些特点和用法???