案例:A/B/C三个模块
A中有一个sum方法:实现任意数求和
B中有一个avg方法:实现任意数求平均(先求和再求平均:B中用到A)
C中调取B中的avg,实现12,23,34,45,56,67,78,89求平均数
A.js
module.exports.sum = summodule.exports = {
sum(...args){
let sumNum = 0;
[...args].forEach(item=>{
sumNum = sumNum+item
});
return sumNum
}
}
B.js
let A = require('./A')
module.exports = {
avg(...args){
let len = [...args].length
let avgnum = A.sum(...args)/len
return avgnum
}
}
let B = require('./B')
console.log(B.avg(12,23,34,45,56,67,78,89))
require导入规则
- require(’./xxx’)或者 …/xxx 再或者 /xxx 这种自己指定路径的模式,都是为了导入自定义的模块,换句话说,想要导入自己的模块,必须加路径
- require(‘xxx’)首先到当前项目的node_modules中查找是否存在这个模块,不存在找node提供的内置模块(导入第三方或者内置的)
__dirname和__filename
__dirname:模块中这个内置变量是当前模块所在的绝对路径
__filename:相对于__dirname来讲,多了模块名称