ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、概述 据CommonJs规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见,CommonJS规范加载模块是同步的,也就是说,加载完成才可以执行后面的操作,Node.js主要用于服务器编程,模块一般都是存在本地硬盘中,加载比较快。 >[danger] CommonJS规范定位于服务器端运行,Node.js采用CommonJS规范。浏览器端的,有AMD/CMD规范; ## 二、核心 每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。模块只有一个出口,module.exports对象,我们需要把模块希望输出的内容放入该对象;加载某个模块,其实是加载该模块的module.exports属性。require方法用于加载模块。 ## 三、实例 ``` //模块定义文件 module.js var name = 'sample'; function printName(){ console.log(name); } function printFullName(firstName){ console.log(firstName + name); } module.exports = { printName: printName, printFullName: printFullName } ``` ``` //加载模块文件 sample.js var myModule = require('./module.js'); myModule.printName(); ```