module.exports与exports

红太狼 2021-01-09 03:32 677阅读 0赞

module.exports与exports经常能让人弄混,其实module.exports才是真正的对外接口,exports只是对它的引用,即一种辅助、简化写法的工具。

他们之间的关系类似于:

var obj1= {};

var obj2= obj1;

obj1.a= 1;

obj2.b= 2;

console.log(obj1.a, obj1.b); //1, 2

console.log(obj2.a, obj2.b); //1, 2

//obj2是对obj1的引用,两者此时共用一个内存空间。

obj2= {c: 3};

console.log(obj1.c) //undefined

//此时obj2拥有了独立的内存空间

module.exports与exports的关系类似如此,因此经常能看见如下的操作

module.exports= exports= something; 只是为了防止exports拥有了独立内存后数据没有传给module.exports。

发表评论

表情:
评论列表 (有 0 条评论,677人围观)

还没有评论,来说两句吧...

相关阅读

    相关 module.exportsexports

    module.exports与exports经常能让人弄混,其实module.exports才是真正的对外接口,exports只是对它的引用,即一种辅助、简化写法的工具。...