nrm使用方法

npm包源默认官方源,在海外下载速度较慢,使用nrm可以快捷的切换包源
npm i nrmg 全局安装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模块

用于实现gzip压缩和解压缩文件

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进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注