1、require
了解requirejs以前首先明白什么是模块化;
一、什么是模块化?
模块化设计是指在对必定范围内的不一样功能或相同功能不一样性能、不一样规格的产品进行功能分析的基础上,划分并设计出一系列功能模块,经过模块的选择和组合能够构成不一样的产品,以知足市场的不一样需求的设计方法。
个人理解就是根据不一样的功能和不一样的产品属性分红不一样的模块,而后模块之间相互关联,构成项目(粗浅实用);
二、模块化的优势?
①、.相对独立性,能够对模块单独进行设计、制造、调试、修改和存储,这便于由不一样的专业化企业分别进行生产;
②、性能稳定、结构简单、成本低廉;
③、便于维护,有利于团队开发;
三、js中模块化有哪些产品?
①、sea.js
②、require.js
四、require.js
RequireJS是一个很是小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一。
require中的依赖是一个数组,即便只有一个依赖,你也必须使用数组来定义,
requir API的第二个参数是callback,一个function,是用来处理加载完毕后的逻辑。
五、加载文件jquery
①、经过define函数定义了一个模块,而后再页面中使用:数组
②、加载模块框架
require.config是用来配置模块加载位置;模块化
经过paths的配置会使咱们的模块名字更精炼,paths还有一个重要的功能,就是能够配置多个路径;函数
shim配置非AMD模块输出,没有用define来申明的模块;requirejs
③、requirejs提供了一种叫"主数据"的功能,咱们首先建立一个main.js:
而后再页面中使用下面的方式来使用requirejs:性能
加载requirejs脚本的script标签加入了data-main属性,这个属性指定的js将在加载完reuqire.js后处理,咱们把require.config的配置加入到data-main后,就可使每个页面都使用这个配置,而后页面中就能够直接使用require来加载全部的短模块名,data-main还有一个重要的功能,当script标签指定data-main属性时,require会默认的将data-main指定的js为根路径,是什么意思呢?如上面的data-main="js/main"设定后,咱们在使用require(['jquery'])后(不配置jquery的paths),require会自动加载js/jquery.js这个文件,而不是jquery.js,至关于默认配置了:
ui
④、main的设置spa