Node.js
module
1. exports :输出内容对象,默认情况下 exports === module.exports
返回目录1. Node 的模块化是使用 CommonJS 规范
- exports :输出内容对象,默认情况下 exports === module.exports
- module.exports :输出内容对象,其他模块引用时会读取这里
module.exports = exports = { a: a };2. module 对象
Module {
id: '.', //唯一标识
exports: { }, //输出对象
parent: null, //父模块 (被那个模块引用)
filename: 'C:\\Users\\Administrator\\Desktop\\Bluej\\node\\module.js',
loaded: false, //被加载完成
children: [], //子模块
paths: //查询依赖的路径
['C:\\Users\\Administrator\\Desktop\\Bluej\\node\\node_modules',
'C:\\Users\\Administrator\\Desktop\\Bluej\\node_modules',
'C:\\Users\\Administrator\\Desktop\\node_modules',
'C:\\Users\\Administrator\\node_modules',
'C:\\Users\\node_modules',
'C:\\node_modules']
}3. 如何引入模块
引入 tool.js 模块
//引入文件
// var tool = require('./tool');
var { add, myRequest } = require("./tool");
// console.log(tool);
console.log(add(1, 2));
console.log(myRequest()); //父模块调用子模块方法被引入的 tool.js
//被引入的模块
//module 里面的exports属性,其实就是 exports
console.log("exports", module.exports === exports); //true
//require 函数,引入其他模块
//module
console.log("__filename", __filename); //文件地址
console.log("__dirname", __dirname); //当前目录地址
var obj = {
name: "tool"
};
function add(a, b) {
return a + b;
}
//两种写法
module.exports = {
obj,
add
// myRequest //下面的相当于在这里加多一个对象
};
module.exports.myRequest = function() {
return module; //当前模块
};