二者区别
module是一个对象,每个模块中都有一个module对象,module是当前模块的一个引用。module.exports对象是Module系统创建的,而exports可以看作是对module.exports对象的一个引用。在模块中require另一个模块时,以module.exports的值为准,因为有的情况下,module.exports和exports它们的值是不同的。
exports是引用 module.exports的值。module.exports 被改变的时候,exports不会被改变,而模块导出的时候,真正导出的执行是module.exports,而不是exports在module.exports 被改变后,失效。
使用
module.exports:
首先新建一个module.js文件,写入如下内容:
function test(){
console.log('success');
}
module.exports=test;
再新建main.js引来引入上面的module.js文件:
var test=require('./module.js') //引入模板
test();
这里还要注意一下,文件路径要写对,现在两个文件是在同级目录下
然后执行main.js文件,看终端的运行结果就可以了。
exports
方法同上,先新建module.js文件,然后输入如下内容:
var name='';
function setName(n){
name=n;
}
function printName(){
console.log(name);
}
exports.setName=setName;
exports.printName=printName;
在新建main.js引来引入上面的module.js文件:
var test=require('./module.js') //引入模板
test.setName('hello');
test.printName();
然后执行main.js文件,在终端查看结果: