Node.js 基础----学习记录(二)

模块加载及第三方包

1. Node.js模块化开发

1.1 JavaScript开发弊端

JavaScript在使用时存在两大问题,文件依赖和命名冲突。模块化

image.png

1.2 软件中的模块化开发

一个功能就是一个模块,多个模块能够组成完整应用,抽离一个模块不会影响其余功能的运行。函数

image.png

1.3 Node.js中模块化开发规范
  • Node.js规定一个JavaScript文件就是一个模块,模块内部定义的变量和函数默认状况下在外部没法获得
  • 模块内部能够使用exports对象进行成员导出, 使用require方法导入其余模块。

image.png

1.5 模块成员导出
// a.js
  // 在模块内部定义变量
 let version = 1.0;
 // 在模块内部定义方法
 const sayHi = name => `您好, ${name}`;
 // 向模块外部导出数据 
 exports.version = version;
 exports.sayHi = sayHi;
1.6 模块成员的导入

导入模块时后缀能够省略ui

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

1.8 模块导出两种方式的联系与区别
exports.version = version;
module.exports.version = version;
module.exports = { 
    name: 'zhangsan',
}

image.png