liAnran

博客园 首页 新随笔 联系 订阅 管理

模块化的标准
有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。这样做有一个前提,那就是大家必须以同样的方式编写模块,否则你有你的写法,我有我的写法,岂不是乱了套! 

CommonJS:是一个模块化的标准,Node.js在使用的模块化标准。适用与后端开发的标准。
AMD(Async Module Definition):在CommonJS基础上衍生出来的适用于前端开发的模块化标准。
特点:预加载,第一次访问时,将所有的文件都加载出来。
优点:第一次访问完成以后,再次访问速度会很快
缺点:第一次加载,需要的时间会比较长
代表:requirejs
CMD(Common Module Definition):在CommonJS基础上衍生出来的适用于前端开发的模块化标准。
特点:懒加载,只有使用到的时候,才会加载对应的模块。
优点:第一次访问速度会比较快
缺点:再次访问其他模块时会比较慢。
代表:seajs


require.JS
require.js概念
requirejs是AMD规范的一个实现,require.js是一个javascript文件,也是一个模块加载器。模块加载器:相当于canvas中封装的图片加载器,只不过一个是加载图片的,一个加载js,文件的类型不一样。

requirejs主要提供两大功能:

加载模块:可以加载AMD规范的模块,也可以是普通的模块,异步加载,并且能够管理模块之间的依赖。
规范了模块的定义:有助于不同模块之间的共享与依赖。

requirejs的优点:

提高了javascript文件的加载速度,避免不必要的堵塞。
独特的模块定义方式可以避免全局变量污染。
独特的模块定义方式可以在脚本层面声明模块之间的依赖。

API详解

requirejs一共对外暴露三个全局变量

  1. requirejs - 用于加载模块
  2. require - 用于加载模块
  3. define - 用于定义模块

requirerequirejs是同一个函数,类似于$jQuery的关系

 

---------------------
作者:梦行天宇001
来源:CSDN
原文:https://blog.csdn.net/u014440483/article/details/77737449?utm_source=copy 

posted on 2018-10-15 12:10  liAnran  阅读(556)  评论(0编辑  收藏  举报