开发者学堂课程【Node.js 入门与实战: exports 和 module.exports 的区别】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/588/detail/8300
exports和module.exports的区别
目录:
一、module.exports
二、exports介绍
一、module.exports
以下是require函数源代码,介绍module.exports
function require(/*
...
*/)
.{
...
const module =
{
exports
;{}
;
//module exports表示一个模块中的对象
...
((module,exports)
=
>
{
Your module code here. In this example, define a
function.
function someFunc()
{}
exports
=
someFunc;
return "fdsfds"
//
At this point, exports is no longer a shortcut
to module. exports, and
//
this module will still export an empty default
object.
module exports
=
someFunc;
//赋值,则可以返回值
//
At this point,the module will now export someFunc,instead of the
//
default object.
})(m
odule,module.exports);
return module.exports;
//返回module.exports
}
二、exports介绍
exports就是一个可用的在模块中文件级别的变量,module.exports和exports指向同一个对象,所以exports是一个快捷使用方式。
1.module.exports.name = '张三';
exports.age
=
18;
exports.show
=
function ()
{
console.log(this.name + ':
' + this.age);
);
2.module.exports是栈里的一个变量,指向堆里面的一个对象,对象默认是一个空对象,module.exports.name建立一个name=“张三”的属性。
exports是栈里的一个变量,指向和module.exports同一个对象
“最终require() 函数返回的的是module.exports 中的数据 return module.exports;
module.exports.name
=
'
张三
';
exports.age
=
18;
exports.show
=
function
()
{
console.log(this.name + ':this.age);
};
//增加了一个show的方法
module.exports = "Hello World!';
//指向另外一个内存”hello world”
exports = 'Hello world!';
//提供一个快捷方式