1.4 基本语法
暴露模块:module.exports = value或exports.xxx = value
引入模块:require(xxx),如果是第三方模块,xxx为模块名;如果是自定义模块,xxx为模块文件路径
1.5 特性
CommonJS模块的加载机制是,输入的是被输出的值的拷贝。也就是说,一旦输出一个值,模块内部的变化就影响不到这个值。这点与ES6模块化有重大差异(下文会介绍),请看下面这个例子:
// a.js
var a = ”;
setTimeout(() => a = ‘a’, 500);
module.exports = a
// b.js
var a = require(‘./a.js’)
console.log(a) // ”
setTimeout(() => console.log(a), 1000) // ”
这样会打印2个空字符串,因为模块内部的变化影响不到这个值了,所以a.js的定时器没有改变b里面a的值。
想要了解跟多关于前端培训课程内容欢迎关注尚硅谷前端培训,尚硅谷除了这些技术文章外还有免费的高质量前端培训课程视频供广大学员下载学习。