卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 生活
  • 技术
  • 记录
  • 工具箱
  • 关于我
首页 › 技术 › Node.js内置模块

Node.js内置模块

坚果大叔
2019-05-30 17:50:23技术阅读 2,302

用来搭建本地服务器

const http = require('http'), 
http.createServer创建一个服务。

赋予node读取本地文件的能力

const fs = require('fs');

fs.writeFile(path, fileData, cb) // 写入文件

fs.readFile(path, cb) // 读取文件

用来处理路径相关

const path = require('path')

let str = '/c/dir/index.html'

console.log(path.dirname(str))

path.resolve() // 路径解析,用来拼合路径,返回一个绝对路径

用来处理网址相关,或者用来获取地址路径或参数

const url = require('url')

let site = 'http://www.a.cn/a/b/index.html?a=1&b=2'

let {pathname, query} = url.parse(site, true) //解析网址 true就是将参数解析为对象

console.log(pathname, query)
// '/a/b/index.html' {a: '1', n: '2'}

主要用来将参数拼接字符串解析为对象

const queryString = require('querystring')

let str = 'a=1&b=2&c=3'
let obj = queryString.parse(str)

console.log(obj, obj.a) //{a:'1',b:'2',c:'3'}, '1' 

let o = queryString.stringify(obj)
console.log(0) // 'a=1&b=2&c=3'

判断条件是正确,如果正确则继续执行,如果错误则抛出异常

const assert = require('assert')

// assert.deepEqual(变量,预期值,错误信息)   变量 == 预期值
// assert.deepStrictEqual(变量,预期值,错误信息)  变量 === 预期值
// 同样也是错误的时候抛出信息,正确的时候继续默默执行

const obj = {a: {b: 1}}
const obj1 = {a: {b: 1}}

assert.deepEqual(obj, obj1, '不等') // true

以工作流的模式,读取文件,使得文件的读取跟水流一样。一边读取一边使用。合理分配内存,避免内存爆掉的风险

const fs = require('fs')

// 读取流:fs.createReadStream();
// 写入流:fs.createWriteStream();

let rs = fs.createReadStream(a.txt)     // 读取的文件
let ws = fs.createWriteStream(a2.txt)   // 写入的文件

rs.pipe(ws) // pipe将rs 和 ws 连接起来,使得读取流的数据传输到输出流

rs.on('error', err => {
  console.log(err);
});
ws.on('finish', () => {
  console.log('成功');
})

用来将文件压缩

const fs = require('fs')
const zlib = require('zlib')

let rs = fs.createReadStream('a.jpg')
let gz = zlib.createGzip()
let ws = fs.createWriteStream('a.jpg.gz')

rs.pipe(gz).pipe(ws) // 原始文件 => 压缩 => 写入

rs.on('error', err => {
  console.log(err);
});
ws.on('finish', () => {
  console.log('成功');
})

内置模块
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
重学 JS 之在 HTML 中使用 JavaScript
上一篇
重学JavaScript之基本概念(上) => 数据类型
下一篇
在小程序中查看

这是个😊,挣点服务器费用😜

热门文章
Md5引发的血案
Home
瞎溜达
如何激活Windows10?
Windows微信多开+防撤回!
Element Plus Upload 添加支持拖拽排序~
专题标签
agent (1) CSS (15) dom (1) Es6入门系列 (14) Git (3) html (1) iview (1) JavaScript (9) js (4) Lif (1) Node (4) pyecharts (1) Python (10) ref (1) scriptable (1) Skill (1) vsCode (1) vue (4) wordpress (2) 三月 (1) 上海 (1) 假期 (1) 其他分享 (3) 前端两三问 (15) 古镇 (1) 外滩 (1) 对象 (1) 小程序 (5) 年度总结 (6) 年终总结 (1) 微信机器人 (4) 打字机 (1) 技术 (1) 日常问题 (8) 日常问题记录 (1) 春天 (2) 服务器 (2) 海族馆 (1) 生活 (8) 网上国网 (1) 记录 (3) 通勤 (1) 重学JavaScript (11) 面试题 (10) 🌸 (1)
什么是Agent?
2026-08-15 23:49:12
325 0 1
什么是 Skill?
2026-08-12 21:32:42
286 1 0
失业在家,我给小朋友做了一个练字小程序!
2026-08-07 16:21:52
527 8 1
上线8年,15万用户的小程序,一共赚了多少钱?
2026-05-30 18:01:24
4,611 4 0
  • 0
博主

一位佛系的前端开发者,略通摄影,乐于尝试新事物,热衷于美食。

友链
故事胶片
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔 Dacking
Copyright © 2017-2026 卖坚果的怪叔叔

开往-友链接力

萌ICP备20230818号

苏ICP备18048410号-3
  • 首页
  • 生活
  • 技术
  • 记录
  • 工具箱
  • 关于我
# CSS # # JavaScript # # vue # # 微信 # # 生活 #
坚果大叔
345
文章
170
评论
431
喜欢