本文介绍: require(‘fs’).promises导入的是promsie版本的fs,可以使用then方法进行文件操作。用于提供通用加密和哈希算法,nodejs底层使用c++实现,通过crypto模块暴露为js接口。MD5是一种常用哈希算法,用于给任意数据一个签名,这个签名一般是一个十六进制字符串。npm的包源默认是官方源,在海外下载速度较慢,使用nrm可以快捷的切换包源。用于实现大文件的分片读写,减小内存占用,特别适用于大文件复制。nrm test 测试源的响应时间。nrm ls 查看可选的源。
nrm使用方法
npm的包源默认是官方源,在海外下载速度较慢,使用nrm可以快捷的切换包源
npm i nrm –g 全局安装nrm
nrm ls 查看可选的源
nrm use taobao 切换到淘宝源
nrm test 测试源的响应时间
nodejs中实现ES6模块化规范
在项目的package.json文件内添加配置项”type“: “module”,即可试用ES6模块化
http模块用法
http.createServer((req, res) => {
res.write('hello http')
res.write('see you http')
res.end()
}).listen(3000, () => {
console.log('server start')
})
event模块用法
const EventEmitter = require('events')
const event = new EventEmitter()
event.on('play', (data) => {
console.log('play event has emitting', data)
})
event.emit('play', [200])
fs文件操作模块
const fs = require('fs')
fs.mkdir('./avatar', (err) => {
console.log(err)
})
const fs = require('fs')
fs.rename('./avatar', './avatar2', (err) => {
console.log(err)
})
const fs = require('fs')
fs.rmdir('./avatar2', (err) => {
console.log(err)
})
const fs = require('fs')
fs.writeFile('./avatar/zhaoji.txt', 'hello fs', (err) => {
console.log(err)
})
const fs = require('fs')
fs.appendFile('./avatar/zhaoji.txt', 'nmy name is zhaoji', (err) => {
console.log(err)
})
const fs = require('fs')
fs.readFile('./avatar/zhaoji.txt', (err, data) => {
console.log(data.toString())
})
- 删除文件
const fs = require('fs')
fs.unlink('./avatar/zhaoji.txt', (err) => {
console.log(err)
})
const fs = require('fs')
fs.readdir('./avatar', (err, data) => {
console.log(data)
})
const fs = require('fs')
fs.stat('./avatar/1.txt', (err, data) => {
console.log(data.isFile())
})
注意:操作方法后面加Sync即为对应的同步操作方法
require(‘fs’).promises导入的是promsie版本的fs,可以使用then方法进行文件操作
stream流模块
用于实现大文件的分片读写,减小内存占用,特别适用于大文件复制
- 流模块读文件
const fs = require('fs')
const rs = fs.createReadStream('./avatar/1.txt', 'utf-8')
rs.on('data', chunk => {
console.log('chunk-', chunk)
})
rs.on('end', () => {
console.log('end')
})
- 流模块写文件
const fs = require('fs')
const ws = fs.createWriteStream('./avatar/1.txt', 'utf-8')
ws.write('1111111111111111')
ws.write('2222222222222222')
ws.write('3333333333333333')
ws.end()
- 流模块复制大文件
const fs = require('fs')
const ws = fs.createWriteStream('./avatar/1.txt', 'utf-8')
const rs = fs.createReadStream('./avatar/dir/2.txt', 'utf-8')
rs.pipe(ws)
zlib模块
const fs = require('fs')
const ws = fs.createWriteStream('./avatar/1.txt', 'utf-8')
const rs = fs.createReadStream('./avatar/dir/2.txt', 'utf-8')
const gzip = require('zlib').createGzip()
rs.pipe(gzip).pipe(ws)
crypto模块
用于提供通用加密和哈希算法,nodejs底层使用c++实现,通过crypto模块暴露为js接口
MD5是一种常用哈希算法,用于给任意数据一个签名,这个签名一般是一个十六进制字符串
注意md5无法反推原始数据
const crypto = require('crypto')
const hash = crypto.createHash('md5')
hash.update('hello md5')
console.log(hash.digest('hex'))
原文地址:https://blog.csdn.net/cyj5201314/article/details/127128470
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_19009.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。