1.1JavaScript开发弊端
javascript在使用时存在两大问题,文件依赖和命名冲突。
1.2生活中的模块化开发
1.3软件中的模块化开发
一个功能就是一个模块,多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。
1.4node.js中模块化开发规范
- node.js规定一个JavaScript文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到
- 模块内部可以使用exports对象进行成员导出,使用require方法导入其他模块。
1.5模块成员导出
//a.js
//在模块内部定义变量
let version=1.0;
//在模块内部定义方法
const sayHi=name=>`您好,${name}`;
//向模块外部导出数据
exports.version=version;
exports.sayHi=sayHi;
1.6模块成员的导入
//b.js
//在b.js模块中导入模块a
let a=require('./b.js');
//输入b模块中的version变量
console.log(a.version);
//调用b模块中的sayHi方法,并输出其返回值
console.log(a.sayHi('小明'));
导入模块的后缀可以省略
1.7模块成员导出的另一种方式
module.exports.version=version;
module.exports.sayHi=sayHi;
exports是module.exports的别名(地址引用关系),导出对象是最终以module.exports为准
当exports对象和moudle.exports对象指向的不是同一个对象时,以module.exports为准