传统js加载、commonJs加载、AMD加载的区别

2018-09-22  本文已影响20人  露馅的番茄

1.CommonJS

是一种前端模块规范,用在服务器端,由Nodejs推广使用;

特点:

一个单独的文件就是一个模块。

每一个模块都是一个单独的作用域。

用module.exports来输出。
使用require方法来加载模块,返回文件内部的module.exports对象。

用法:

exports.方法名= function(){};

var math = require(方法名);

AMD

AMD是为了弥补commonjs规范不能完美支持浏览器的另一种模板规范

AMD缩写:Asynchronous Module Definition,意思就是“异步模块定义”。

AMD也采用require()语句加载模块,但是却与commonjs不同:

用法:require([module], callback);

requireJS就是实现了AMD的规范;requireJS的诞生主要解决了这些问题:

1.实现js文件的异步加载,避免网页失去响应;

2.管理模块间的依赖性,便于管理维护;

requireJS的用法:

1.下载requireJS文件,引入js
(下载链接:http://www.requirejs.cn/docs/download.html#requirejs

2.写法:

//index.html

  require(['js/AMD-c','js/AMD-d'], function(c,d) {
      console.log(c);
      console.log(d);
  });

//定义js文件

定义js文件

参考链接

前端模块化:https://www.jianshu.com/p/d67bc79976e6

js模块化:https://www.imooc.com/article/20057

requirejs的用法:http://www.runoob.com/w3cnote/requirejs-tutorial-1.html

js模块化编程:http://www.cnblogs.com/chenguangliang/p/5856701.html

CommonJs的规范与使用:https://www.jianshu.com/p/fc858878d891

CommonJS模块规范:http://javascript.ruanyifeng.com/nodejs/module.html#toc0

JavaScript之模块化——commonJS、AMD、CMD、ES6:https://blog.csdn.net/yangxiaoyanger/article/details/79566776

上一篇下一篇

猜你喜欢

热点阅读