node.js中模块的加载机制

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为准

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值