CommonJS模块化的标准,服务器端的模块化规范
导入-->exports
//m.js
let a = 10;
function getSum(a,b) {
return a+b;
}
//导出方法1
exports.a = a;
exports.getSum = getSum;
//导出方法2
//通过module.exports等于一个对象,来导出数据!
module.exports {
a,getSum
}
导入-->require
//mian.js
const m1 = require('./m.js');
cosole.log(m1);
cosole.log(m1,a);
cosole.log(m1,getSum(1,2));
导入的模块一般需要一个变量去接收,一般把接收的变量定义为常量
模块中this指向的问题
模块中的this代表的是当前这个模块,也就是exports对象
cosole.log(this);
cosole.log(exports);
cosole.log(this===exports);//true
node中没有window对象,但是有全局对象global
let b = 10;
cosole.log(global.b);//undefind
node里面声明这个变量,是不会被添加到global全局对象中去
但是我们可以向global中添加成员
global.c = 30;
cosole.log(global);
温馨提示:就算你的代码写的很烂也要去实现功能🆗!