Module

commonJS规范规定每一个模块都有一个Module对象,大约是

{
    id: 模块标识符,
    filename:带有绝对路径的模块文件名,
    parent: 引用模块的父模块(对象),
    children: 该模块引用的子模块数组,
    loaded: Boolean,模块是否完成加载情况,
    exports: 对外输出的接口
}

引申:module.exports && exports(区别于es6的export)
module.exports是commonJs规范定义的模块输出接口
exports是node为每个模块提供的变量,exports = module.exports
exports变量指向module.exports,如果是对象,那么可以用exports和module.exports,如果是个数值,那么就只能用module.exports,exports不是module.exports的引用
⚠️ 不能直接赋值给exports变量,不然就切断了module.exports和exports的联系,不能正常输出

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容