require JS 的简要介绍
什么是 requireJS ?
requireJS 是用JavaScript编写的JS框架,主要功能是可以按不同的先后依赖关系对 JavaScript 等文件的进行加载工作,可简单理解为JS文件的加载器,它非常适合在浏览器中使用,它可以确保所依赖的JS文件加载完成之后再加载当前的JS文件,这在大量使用JS文件的项目中可确保各个JS文件的先后加载顺序,确保避免了以前因某些原因某个文件加载慢而导致其它加载快的文件需要依赖其某些功能而出现某函数或某变量找不到的问题,这点非常有用,也是 requireJS 的主要价值所在吧;
requireJS 官网 http://requirejs.org 中文翻译网 http://www.requirejs.cn 更多详细的请到官网了解,一下是快速简要了解的知识点。
快速简要了解要点:
1,require会定义三个变量:define,require,requirejs,其中require ===requirejs,一般使用require更简短,页面加载同时不阻塞渲染;
2,define(function(){...}); 从名字就可以看出这个api是用来定义一个模块;
3,require(['aModule','bModule'],function(a,b){...}) 加载依赖模块,并执行加载完后的回调函数;
4,在使用requirejs时,加载模块时不用写.js后缀,当然也是不能写后缀;
5,require.config({...}) 是用来配置模块加载位置和设置基本路径等;
6,加载requirejs脚本的script标签加入了data-main属性,这属性指定在加载完reuqire.js后,就用requireJS加载该属性值指定路径下的JS文件并运行,所以一般该JS文件称为主JS文件,类似C或Java语言中main函数的功能,然后把require.config的配置加该主文件后可使每一个页面都使用这个配置,然后页面中就可直接使用require来加载所有的短模块名即可,这样即可在一个地方配置所有地方使用,同时模块别名的使用和管理也都比较方便;例如: < script data-main="js/main" src="js/require.js">< /script>
7,当script标签指定data-main属性时,require会默认的将data-main指定的js为根路径;
8,require加载的模块一般都需要符合AMD规范,即使用define来申明模块;
9,加载非AMD规范的js,这时候就需要用到另一个功能:shim; 例如:
require.config({ paths:{ "underscore":"http://www.xxx.com/xpath/xFile.js" } ,shim: { "underscore" : { exports : "_"; } } });
好了,简要介绍就到这。
文章转载来源:https://blog.youkuaiyun.com/shenzhennba/article/details/51660732