nodejs 模块化开发

nodejs 模块化开发

1. 模块的了解

1.1 什么是模块

模块: 一个具有特定功能的文件就是一个模块.

  • 模块化的优点: 有了模块,我们就可以非常方便使用这些模块,因为这些模块肯定是完成了某些特定的功能.当我们需要修改某个功能时,那么只需要修改这个功能自己的模块文件即可,每个功能模块相互独立,互不影响.
  • 模块与模块之间是相互独立的,如果需要在一个模块中使用另一个模块中的值,那么就必须在这个模块中引入另一个模块,在另一个模块中导出这些值.

1.2 什么是模块化

模块化: 将一个复杂的程序根据一定的规范,封装成几个模块(文件),并进行组合在一起,每个模块的内部数据实现私有,只是向外部暴露一些接口和方法与外部模块进行通信

2. 模块的分类

2.1 模块的分类

  1. 系统模块:Node.jsa开发 团队已经开发了很多功能模块 直接引入就可以使用
  2. 第三方模块:第三方模块必须要先安装在使用,要是用包管理工具npm进行安装
  3. 自定义模块: 自己写的js文件,在使用模块化语法之后就是一个自定义模块了

2.2 内置模块

node.js中内置了很多模块,可以直接使用require来引用,

// 文件操作模块
const fs = require('fs')

内置模块的引用是没有路径的

2.3 自定义模块

自己写的js文件就可以是一个自定义模块
定义模块a

let str = 'hello world';
console,log(str)
exports.str = str

定义模块b 并在引入模块a

let a = require('./a.js');
console.log(a.str)

此时我们运行node b.js 执行文件
在这里插入图片描述
此时我们发现打印了两个hello world 我们得出以下结论,require()那个文件,就会指行哪个文件,我们执行b.js文件 由于在b中引入了a模块,所以a模块也会被触发执行

拓展:

  1. 会发现require() 引入谁 就会执行谁 回让a.js也执行
  2. require() 引入模块如果有异步语句,不会阻止代码执行,会吧所有的同步执行完毕之后在执行异步语句
  3. 如果是多层引用会把引入文件执行完毕在执行其他
  4. 如果循环引用 a引用b b引用a nade会很智能的组织好第二次引入

在后续的文章中会详细说到模块化开发的相关知识点…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值