模块/包与CommonJS-05学习

模块/包与CommonJS

1.模块/包分类

Node.js有三类模块,即内置模块、第三方的模块、自定义的模块

  • 内置模块
const path = require('path')
var extname = path.extname('index.html')
console.log(extname)
  • 第三方的Node.js模块
    第三方的Node.js模块指的是为了实现某些功能,发布的npmjs.org上的模块,按照一定的开源协议供社群使用。如:

npm install chalk

const chalk = require('chalk')
console.log(chalk.blue('Hello world'))
  • 自定义的Node.js模块
    自定义的Node.js模块,也叫文件模块,是我们自己写的供自己使用的模块。同时,这类模块发布到npmjs.org上就成了开源的第三方模块。
    自定义模块是在运行时动态加载,需要完整的路径分析、文件定位、编译执行过程、速度相比核心模块稍微慢一些,但是用的非常多。

  • 模块定义、接口暴露和引用接口
    我们可以把公共的功能抽离成一个单独的js文件作为一个模块,默认情况下这个模块里的方法或者属性,外面是无法访问的。如果要让外面可以访问模块里面的方法或者属性,就必须在模块里面通过exports或者module.exports暴露属性或者方法。

四个步骤
第一步:定义模块

// 第一步:定义模块
const name = {
  surname: 'zhang',
  sayName() {
    console.log(this.surname)
  }
}
// 第一步:定义模块
const age = {
  age: 100
}

// 第二步:暴露接口
// module.exports = { name, age }

// const exports = module.exports
// exports 相当于 module.exports 的引用
// 第二步:暴露接口
exports.name = name
exports.age = age

// 第三步:导入模块
const { name, age } = require('./name')

// 第四步:使用模块
name.sayName()
console.log(age.age)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值