Nodejs基础
Buffer 缓冲区
- Buffer 是专门存储二进数制数据,显示时以 16 进制的形式显示的据结构
- 每一个元素占用一个字节内存
- Buffer 是对底层内存的直接操作,因此大小一旦确定就不能修改
常用方法
1 | let buf = Buffer.from("hello"); // buf.toString() 转换回来 |
fs 文件系统模块
同步文件系统会阻塞程序的执行
异步文件系统不会阻塞程序的执行,通过回调函数返回结果
操作模式:
模式 | 说明 |
---|---|
r | 读取文件,文件不存在抛异常 |
r+ | 读写文件,文件不存在抛异常 |
rs | 同步模式下打开文件用于读取 |
rs+ | 同步模式下打开文件用于读写 |
w | 写文件,不存在则创建,存在则覆盖原有内容 |
wx | 写文件,文件存在打开失败 |
w+ | 读写文件,不存在创建,存在截断 |
wx+ | 读写,存在打开失败 |
a | 追加,不存在创建 |
ax | 追加,存在失败 |
a+ | 追加和读取,不存在创建 |
ax+ | 追加和读取,存在失败 |
简单文件读取
fs.readFile(path, options, callback)
异步encoding
:编码格式flag
:打开方式
fs.readFileSync(path, options, callback)
同步
1 | const fs = require("fs") |
流式文件读取
- 简单文件读取的方式会一次性读取文件内容到内存中,若文件较大,会占用过多内存影响系统性能,且读取速度慢
- 大文件适合用流式文件读取,它会分多次将文件读取到内存中
1 | const fs = require("fs"); |
同步文件写入
1 | const fs = require("fs"); |
异步文件写入
1 | const fs = require("fs"); |
简单文件异步写入
1 | // fs.wirteFile简单文件写入 |
流式文件写入
- 大文件异步操作
1 | const fs = require("fs"); |
其它操作
验证路径是否存在:
fs.exists(path, callback)
fs.existsSync(path)
获取文件信息:
fs.stat(path, callback)
fs.stat(path)
删除文件:
fs.unlink(path, callback)
fs.unlinkSync(path)
列出文件:
fs.readdir(path[,options], callback)
fs.readdirSync(path[, options])
截断文件:
fs.truncate(path, len, callback)
fs.truncateSync(path, len)
建立目录:
fs.mkdir(path[, mode], callback)
fs.mkdirSync(path[, mode])
删除目录:
fs.rmdir(path, callback)
fs.rmdirSync(path)
重命名文件和目录:
fs.rename(oldPath, newPath, callback)
fs.renameSync(oldPath, newPath)
监视文件更改:
fs.watchFile(filename[, options], listener)
path 路径模块
path 模块是 Node.js 官方提供的、用来处理路径的模块。
它提供了一系列的方法和属性,用来满足用户对路径的处理需求。
路径拼接 path.join()
../
回退路径一级./
会被忽略__dirname
返回当前路径的绝对路径
1 | const path = require('path') |
获取路径中的文件名 path.basename(path[, ext])
- path: 文件路径
- ext: 文件扩展名
1 | const path = require('path') |
获取路径中文件的扩展名 path.extname()
1 | const path = require('path') |
http 模块
- http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。
创建基本 Web 服务器
1 | const http = require('http') |
CommonJS 模块化
module
变量是一个对象,module.exports
是对外的接口- 加载某个模块即加载该模块的
module.exports
属性
导出方式一
1 | const name = '10wen.github.io' |
1 | const { name, getName } = require('./module.js') |
导出方式二
1 | const name = '10wen' |
1 | const getName = require('./module.js') |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 CrazyKong!
评论