模块/包与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)
标签:CommonJS,包与,const,name,05,age,exports,js,模块 来源: https://blog.csdn.net/weixin_38644630/article/details/114898976