Node JS 模块化导入导出
模块化导入和导出 基础
CommonJS
是Node JS的规范
http://nodejs.cn/api/module.html
代码示例
导出
let a = 1;
function fun () {
console.log(a);
}
exports.a = a;
exports.fun = fun;
导入
let example = require('./example');
example.a
这里的 exports
就是导出的模块,
然后导入的 require
就是会把 exports
的对象赋值过来
这个 exports
是对 module.exports
的一个应用, 所以我们也可以使用 module.exports
来进行导出.
那么,这两个的区别是什么呢?
简单来说, 就像是在 Node JS 内部, 让 exports = module.exports 产生了指向.
所以这里最大的区别就是 直接将 exports = x, 这样因为这个会直接修改 exports 的指向,
所以导出就并没有出现.所以如果要直接只导出一个对象的化,就需要使用 module.exports 而非 exports 了.
例如:
这种直接赋值, 会因为原来指向的是一个地址, 因为赋值改变了指向,导出时就没有了 导出就是一个 {}
exports = 1;
exports = () => {console.log(1)};
所以就要使用这个方式进行导出, 避免了地址指向的改变.
module.exports = 1;
本文来自博客园,作者:tallgy,转载请注明原文链接:https://www.cnblogs.com/tallgy/p/15389896.html