ES6之前出现了JS模块加载的法案,最主要是CommonJS和AMD规范。CommonJS前者主要应用于服务器,实现同步加载,如nodejs。AMD规范应用于浏览器,如requirejs,为异步加载。
import和require区别
node编程中最重要的思想是模块化,import和require都是被模块化使用
require是运行时调用,所以可以随处引入
import是编译时调用,必须放在文件开头引入,目前部分浏览器不支持,需要用babel把es6转成es5再执行
import(es6语法)
ES6模块主要有俩个功能:export和import
export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口
import用于在一个模块中加载export输出变量的接口
如以下代码:
require(CommandJS规范 ,在nodejs中使用)
在nodejs环境中,我们采用的是CommandJS模块规范,使用require引入模块,使用module.exports导出接口
如以下代码: