随笔- 443
文章- 77
评论- 996
阅读-
105万
06 2022 档案
Node.js精进(6)——文件
摘要:文件系统是一种用于向用户提供底层数据访问的机制,同时也是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型。 Node.js 中的fs模块就是对文件系统的封装,整合了一套标准 POSIX 文件 I/O 操作的集合,包括文件的读写、删除、遍历、重命名等操作。 fs 模块中的所有方法都提供了
阅读全文
Node.js精进(5)——HTTP
摘要:HTTP(HyperText Transfer Protocol)即超文本传输协议,是一种获取网络资源(例如图像、HTML文档)的应用层协议,它是互联网数据通信的基础,由请求和响应构成。 在 Node.js 中,提供了 3 个与之相关的模块,分别是 HTTP、HTTP2 和 HTTPS,后两者分别是
阅读全文
Node.js精进(4)——事件触发器
摘要:Events 是 Node.js 中最重要的核心模块之一,很多模块都是依赖其创建的,例如上一节分析的流,文件、网络等模块。 比较知名的 Express、KOA 等框架在其内部也使用了 Events 模块。 Events 模块提供了EventEmitter类,EventEmitter 也叫事件触发器,
阅读全文
Node.js精进(3)——流
摘要:在 JavaScript 中,一般只处理字符串层面的数据,但是在 Node.js 中,需要处理网络、文件等二进制数据。 由此,引入了Buffer和Stream的概念,两者都是字节层面的操作。 Buffer 表示一块专门存放二进制数据的缓冲区。Stream 表示流,一种有序、有起点和终点的二进制传输手
阅读全文
IE让我首次遭受了社会的毒打
摘要:2022年6月15日,微软终止对IE的支持,自此IE走入历史,可以说这是一个时代的终结。 自己在 2011 年刚从业时,IE 在国内的市场占有率可是遥遥领先的,下图来自于 StatCounter 网站的统计结果。 将浏览器版本再细分,排在前面的也是 IE 的四个版本,其中 IE6 的占有率最高,兼容
阅读全文
Node.js精进(2)——异步编程
摘要:虽然 Node.js 是单线程的,但是在融合了libuv后,使其有能力非常简单地就构建出高性能和可扩展的网络应用程序。 下图是 Node.js 的简单架构图,基于 V8 和 libuv,其中 Node Bindings 为 JavaScript 和 C++ 搭建了一座沟通的桥梁,使得 JavaScr
阅读全文
Node.js精进(1)——模块化
摘要:模块化是一种将软件功能抽离成独立、可交互的软件设计技术,能促进大型应用程序和系统的构建。 Node.js内置了两种模块系统,分别是默认的CommonJS模块和浏览器所支持的ECMAScript模块。 其中,ECMAScript模块是在8.5.0版本中新增的,后面又经过了几轮的迭代。本文若无特别说明,
阅读全文
Node.js躬行记(21)——花10分钟入门Node.js
摘要:Node.js 不是一门语言,而是一个基于 V8 引擎的运行时环境,下图是一张架构图。 由图可知,Node.js 底层除了 JavaScript 代码之外,还有大量的 C/C++ 代码。 常说 Node.js 是单线程的,但这个单线程是指处理 JavaScript 的主线程是单的,像 I/O 任务都
阅读全文