
Node.js 的基础教学之exports or module.exports
这个scope是Node.js 的, 不是ES7的JavaScript Module
Exports
举个例子
function a() {
// your logics
}
exports.a = a;
原因就是 exports 就相当于是modules.exports 的一个reference, 看官方直接指出 (https://nodejs.org/api/modules.html#modules_exports), 就是一个shortcut (https://nodejs.org/api/modules.html#modules_exports_shortcut)
简单粗暴的理解就是
exports = module.exports = {}Require
知道exports 就得知道require. 我猜你以前写过没有后缀文件的引用
var x = require('a');
var y = require('./b');
var z = require('../c');也有可能第一次用后缀的是用新的node --experimental-modules 写法 (https://nodejs.org/api/esm.html), 比如:
import './node_modules/commonjs-package/index.js'; 其实, 以下也是成立的
var x = require('./a');
var y = require('./a.js');
var z = require('./a.json');
var g = require('./a.node');
顺序是 a > a.js > a.json > a.node 可以看官方文件 (https://nodejs.org/api/modules.html#modules_all_together)
附送一些常见的nodejs 自带libraries.

当然了, 愿意深挖的请继续

- https://flaviocopes.com/es-modules/
- https://eloquentjavascript.net/10_modules.html
- https://exploringjs.com/es6/ch_modules.html
本文详细解析了Node.js中exports与module.exports的工作原理及区别,通过实例展示了如何正确使用这两种方式来导出模块功能。

被折叠的 条评论
为什么被折叠?



