Node的模块化管理、Node的module对象、require命令、Buffer对象

目录

一、Node的模块化管理

二.Node的module对象

三.require命令:是node的内置命令,主要用于加载模块文件

四.Buffer对象

五.Buffer构造函数

六.Buffer常用的函数

七.实例属性

八.实例方法

九.Node的文件操作:对文件的I/O操作使用的是fs(FileSystem)模块


一、Node的模块化管理

        1.模块化:node应用程序由模块组成。遵循的是CommonJS模块规范。使用模块管理的好处是隔离模块的作用域,避免出现命名冲突。

        2.什么是CommonJS:它是一套代码的规范,构建一个在浏览器之外的JavaScript语言的生态系统。

        3.CommonJS规范的主要内容:

                (1)通过module.exports导出对外的变量或接口

                (2)通过require将其他模块导入到当前模块的作用域中

        4.CommonJS的特点:

                (1)所有模块都运行在当前模块的作用域中,不会污染全局作用域

                (2)模块是同步加载,根据文件中模块出现的顺序依次加载

                (3)模块可以多次加载,但只有在第一次加载时运行,其他的加载会放入缓存中,后面在使用时直接从缓存中读取

module.exports.name = '玛卡巴卡'
module.exports.age = 18
module.exports.getName = function(){
    console.log('name',this.name)
}
module.exports.getAge = function(){
    console.log('age',this.age)
// 导入app.js
var person = require('./001.js')
person.getName()
person.getAge()

二.Node的module对象

        1.在node内部定义了一个module构造函数,构造函数的属性有:

                (1)id:表示模块的标识符

                (2)parent:表示调用模块的模块

                (3)exports:表示要导出的值

                (4)paths:表示模块的查找路径。当前目录的node_modules-->父目录的node_modules-->...-->node根目录下的node_modules

                (5)path:当前模块所在的路径

                (6)filename:当前模块所在的文件名

        强调:在CommonJS规范中所有的模块都是Module的实例(对象)

        2.exports变量:该变量指向module.exports,作用是方便用户的操作

// 导出
exports.area = function(r){
    return Math.PI*r**2
}
// 导入
var circle = require('./002.js')
let a = circle.area(3)
console.log(a.toFixed(2))

        强调:不能直接给exports赋一个值,这样就切断了exports与module.exports之间的关系,不能进行导出了。

三.require命令:是node的内置命令,主要用于加载模块文件

        1.作用:导入并运行JavaScript文件,返回的是exports对象

        2.加载规则:

                (1)加载文件的默认后缀名是:.js

                (2)如果参数字符串以'/'开头,表示加载的文件是位于绝对路径下的文件

                (3)如果参数字符串以'./'开头,表示加载的文件是位于相对路径下的文件

                (4)如果参数字符串不以'./'或'/'开头,则表示加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值