模块

模块 --->  可以理解为是一个功能体(积木块)

 nodejs下模块分为自定义模块、核心模块(官方提供)、第三方模块

 node.js下,任意一个文件都是一个模块,任意一文件中的代码都是被一个构造函数所包含

//(function(exports,require,module,__dirname,__filename){
    var a=1;
    console.log(__dirname);      // 当前文件的完整路径
    console.log(__filename);     // 当前文件的完整路径和文件名称
//})

require('./02.js');                // 引入一个模块

例1:

//【02.js】
console.log('02.js');
// 【02.js】
// 引入02.js的模块 // ./同一级目录 
require('./02.js');

例2:

console.log('02.js');
var a=1;
function fn(){
    console.log(123);
}
// 把a变量和fn公开
module.exports.a=a;        // module指代当前的模块对象
module.exports.fn=fn;      // module.exports    当前模块的导出对象(公开),可以提供其他的模块使用的属性和方法;


// 引入02.js的模块
// ./同一级目录
var obj = require('./02.js');
console.log(obj);
obj.fn();

 例3:

【main.js】

/*
练习:创建两个模块,main.js和circle.js;在功能模块中创建两个函数,
传递1个参数,分别获取圆的周长getlength和面积getarea,
导出这两个函数,在主模块中引入功能模块,调用两个方法;*/

var obj = require('./circle.js');
console.log(obj);
console.log(obj.getlength(2));
console.log(obj.getarea(2));

【circle.js】

function getlength(r){
    return 2*PI*r;
}

function getarea(r){
    return PI*r*r;
}
// 公开函数
module.exports.getlength=getlength;
module.exports.getarea=getarea;
原文地址:https://www.cnblogs.com/hd-test/p/11804029.html