Node.js的模块

Node.js的模块化

什么是模块
在node.js中所有的功能都是以模块形式存在的(每一个文件就是一个模块),所有用户编写的代码都会自动封装在一个模块汇总,模块与模块之间相互独立,如果说要在一个模块中使员工另一个模块的功能,就需要引入模块,另一个模块就需要将数据暴露出来。
什么是自定义模块
我们自己写的模块就是自定义模块
暴露数据
exports.属性或方法名=值;
引入模块
require(“模块路径”):
主模块
一个项目中只允许有一个主模块,通常命名为:main.js ,index.js,app.js,package
主模块是整个项目的启动模块,主模块对整个项目的其它模块进行统筹调度。

Node.js的模块组成

所有用户编写的代码都放在模块中,模块就是文件(函数)
所有用户编写的代码都自动封装在一个函数中,函数有五个参数:
exports
暴露对象,可以将模块中的数据暴露给引入的地方
require
引入模块的函数,用于在一个模块汇总引入另一个模块,并且将子模块暴露的数据赋值给变量
module
模块对象,包含了当前模块的所有信息
__filename
当前模块的文件名
__dirname
当前模块所在的路径(目录路径)

require函数

作用:在当前模块中加载另外一个模块
模块分类

  1. 自定义模块
    我们自己编写的文件就是一个自定义模块
    require("./文件名.js")
  2. 第三方模块
    第三方程序员或公司开发的模块,要安装再使用
    安装可以使用npm包管理工具
    npm install 包的名称
    require(“模块名”)
  3. 系统模块
    node.js开发团队已经开发的功能模块,直接引入即可使用,不需要安装也不需要自己写
    常用的系统模块:fs,http,url,path…
    reuqire函数的注意事项
  4. 当引入的模块有语法错误时,会报错
  5. 当引入的模块路径有错时,也会报错
  6. 当一个模块被多次引入时,只执行一次,将暴露的对象直接写入缓存,以后就直接冲缓存中读取

exports

作用:将模块中需要共享给其他模块的数据暴露(导出)到引用处
语法

  1. exports.属性名=值;
  2. export.方法名=函数
    注意
  3. exports是module.exports对象的引用
  4. exports是module.exports对象的引用,不能改变指向,只能添加属性和方法
  5. module.exports才是真正的暴露对象,指向哪里就暴露哪里

module模块对象

module.exports是真正的暴露对象,exports对象只是对它的引用

  1. module.exports.属性=值;
  2. module.exports.方法=函数;
  3. module.exports=对象或函数;

方法

  1. moudle.id:模块id,模块名称
  2. module.parent:模块的父级
  3. module.filename:模块的文件名和路径
  4. module.children:子模块列表
  5. module.paths:模块查找路径,如果当前目录找不到node_modules就去上一级目录查找,直到根目录,如果配置了NODE_PATH环境变量,则会再去环境变量指向的路径查找
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值