js - import、require
js - import、require
JS模块加载
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输出变量的接口
如以下代码:
// export变量
export default {
...
}
// import加载变量
import config from 'xxx'
require(CommandJS规范 ,在nodejs中使用)
在nodejs环境中,我们采用的是CommandJS模块规范,使用require引入模块,使用module.exports导出接口
// 导出变量
module.exports={}
// 导出
let config = require('xxx')
参考资料
import 和 require区别
深入JavaScript Day25 - 模块化、CommonJS、module.exports、exports、require
细读 JS | JavaScript 模块化之路
Lee2