Module

2019-04-06  本文已影响0人  cutecat

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的联系,不能正常输出

上一篇下一篇

猜你喜欢

热点阅读