Node.js模块化开发

1. JavaScript开发弊端

JavaScript在使用时存在两大问题,文件依赖命名冲突

image.png

2. 生活中的模块化开发

image.png
image.png

3. 软件中的模块化开发

一个功能就是一个模块,多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。

image.png

4. Node.js中模块化开发规范

  • Node.js规定一个JavaScript文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到
  • 模块内部可以使用exports对象进行成员导出, 使用require方法导入其他模块。

image.png

5. 模块成员导出

// a.js
//在模块内部定义变量
let version 1.0
//在模块内部定义方法
const sayHi name 您好 , ${
//向模块外部导出数据
exports.version version
exports.sayHi sayHi
复制代码

6. 模块成员的导入

// b.js
//在 b.js 模块中导入模块 a
let a require (('./b.js');
//输出 b 模块中的 version 变量
console.log(a.version)
//调用 b 模块中的 sayHi 方法 并输出其返回值
console.log(a.sayHi 黑马讲师 ''));
复制代码

导入模块时后缀可以省略

7. 模块成员导出的另一种方式

module.exports.version = version; 
module.exports.sayHi = sayHi;
复制代码

exports是module.exports的别名(地址引用关系),导出对象最终以module.exports为准

8. 模块导出两种方式的联系与区别

image.png

exports.version = version; 
module.exports.version = version;

module.exports = {
    name: 'zhangsan',
}
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享