模块化开发是为了解决js文件中命名冲突和文件依赖的问题。
软件中的模块化开发:
一个功能就是一个模板,多个模板可以组成完整应用,抽离一个模块不会影响到其他功能的应用。
例如:
一个应用模块分为用户管理模块,文章管理模块,商品管理模块,用户管理模块又分为添加用户管理模块和删除用户管理模块,商品管理模块分为查找和添加模块。各模块之间相互独立,可维护性较强。
Node.js中模块化开发规范
Node.js规定一个js文件为一个模块,模块内部定义的函数和变量在模块外部无法访问,因此需要在模块内部通过exports对象进行导出,在模块外部通过require方法进行导入。
(注意:exports是一个对象,require是一个方法!!!)
exports对象导出方法
例如:a.js文件中代码为
const version=1;
const hello = name =>`hello,${
name}`;
exports.version=version;
exports.hello=hello;
b.js文件中代码为:
let b=require('./a.js');
//在外部通过reqiure进行导入,require为一个方法
console.log(b.version);
console.log(b.hello('lala'));
最终通过powershell运行结果为:
module.exports对象导出方法
用module.exports对象也可以导出模块。
在上述事例中将a.js文件的代码改为:
const version=1;
const hello = name =>`hello,