文档:Modules: CommonJS modules | Node.js v17.3.0 Documentation
1.简介
在node.js模块系统中,每个文件都被视为一个模块,如foo.js
const prefix = 'foo'
exports.say = (s) => console.log(prefix+s);
exports.name = 'foo';
- 通过在exports对象上添加属性,将函数和对象添加到模块的根
- 模块本地的变量是私有的,因为模块文件本身被包装在一个函数中执行
如果要使用模块,需要导入它
const foo = require('./foo')
foo.say('hello')
console.log(foo.name)
- require函数返回的就是模块的根
- exports的属性都被设置到了模块的根上
也可以把模块的整个根设置为一个对象,使用方式也是一样的
module.exports = {
......
}
- 不能直接对exports对象赋值,需要对