答案:node
模块机制有amd,cmd和commonJs机制es6
amd对应的实现是requireJs,cmd对应实现是Seals,CommonJs对应实现是nodeJs浏览器
(即函数
amd和cmd针对的是浏览器端,而commonJs针对的是服务端ui
amd是预加载,加载同时还会解析代码;(优势是快,缺点是加载顺序不固定,容易出问题,埋下大坑)es5
cmd是懒加载,加载后暂时不执行代码,须要时候再执行(优势是加载顺序可控,缺点是加载速度慢)对象
require是amd的加载方式,import是es6中module的加载方式cmd
require在文件任什么时候候均可以调用,可是import只能放在文件开头使用,由于它是编译时就调用,而require是在文件运行时调用编译
require的本质是将require的结果(其实就是各类对象,数字,函数等等)赋值给某个变量;而import的实质是依赖于node的一种将es6转码为es5的一种加载方式,import最终会被转码为requireclass