
node学习笔记、梳理总结
文章平均质量分 92
Node.js是一个基于Chrome JavaScript运行时建立的平台,主要用于创建快速、可扩展的网络应用。它的核心特性包括事件驱动和非阻塞I/O模型,使其变得轻量和高效,非常适合构建运行在分布式设备的数据密集型的实时应用。
·零落·
远处的是风景,近处的才是人生。
展开
-
【Node系列】Express 框架
在 Express.js 中,路由是一个非常重要的概念,它决定了如何响应对特定端点的客户端请求。res.render(view,[locals],callback):渲染一个view,同时向callback传递渲染后的字符串,如果在渲染过程中有错误发生next(err)将会被自动调用。通过将参数插入到路由路径中,Express 将自动将与该路径匹配的请求的相应部分提取出来,并将其传递给处理程序函数。在 Express 中,路由的处理顺序是根据定义的顺序进行的,因此,在匹配请求时,会按照定义的顺序进行匹配。原创 2024-02-05 11:36:16 · 1188 阅读 · 1 评论 -
【Node系列】node中的函数
在Node.js中,函数是一段可重复使用的代码,它可以接受输入(参数),执行一系列操作,并返回一个结果(返回值)。以上是Node.js中常见的函数类型,但并不是全部类型。,它接受一个文件路径作为参数,并返回一个Promise对象。在Node.js中,函数可以根据不同的分类标准分为多种类型。匿名函数没有函数名,通常作为变量值、回调函数或立即执行函数表达式(IIFE)使用。箭头函数是ES6中引入的一种更简洁的函数表达方式,它没有自己的。下面是一个更复杂的函数示例,它使用Node.js的内置模块。原创 2024-02-05 10:45:34 · 1428 阅读 · 1 评论 -
【Node系列】node中的流(Stream)
管道流(Pipeline Stream)是一种特殊的流操作,它通过将多个流连接在一起,实现数据的连续处理和传输。在 Node.js 中,可以通过将多个流连接在一起,形成一个管道流,以便将数据从一个流中传递到另一个流中。Node.js 中的流(Stream)是一种处理数据的方式,它允许你以流的方式处理数据,而不是一次性加载整个数据集。在 Node.js 中,可以通过将多个流连接在一起,形成一个链式流,以便将数据从一个流传递到另一个流。最后,我们将可读流、转换流和可写流连接起来,形成一个管道流。原创 2024-02-05 09:35:01 · 1562 阅读 · 1 评论 -
【Node系列】连接数据库
Node 连接 MongoDB数据库、MySql数据库原创 2024-02-04 15:49:29 · 1672 阅读 · 2 评论 -
【Node系列】模块系统
当一个模块首次被引入时,Node.js 会将该模块的内容进行编译和执行,并将其导出的对象保存在内存中的缓存中。需要注意的是,模块的缓存是根据模块的绝对路径进行的,因此如果同一个模块被引入了多个次,但是使用了不同的路径进行引入,Node.js 会将其视为不同的模块,重新加载并执行。Node.js 的模块系统是其核心特性之一,允许开发者编写可复用的代码,并通过简单的导入和导出机制来共享和使用这些模块。具体来说,Node.js 将模块的绝对路径作为键,模块的导出对象作为值,在一个对象中进行缓存。原创 2024-02-04 10:54:19 · 897 阅读 · 6 评论 -
【Node系列】Node全局对象
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以用于构建高性能的网络应用程序。它采用事件驱动、非阻塞I/O模型,使得程序可以以高效地方式处理并发请求。单线程:Node.js采用单线程模型,使用事件循环来处理并发请求。这意味着它可以高效地处理大量的并发请求,而不会因为线程切换而产生开销。非阻塞I/O:Node.js使用非阻塞I/O模型,可以在进行I/O操作时继续处理其他请求,而不需要等待I/O操作完成。这使得Node.js非常适合处理高并发的网络应用程序。原创 2024-02-03 15:18:09 · 1283 阅读 · 5 评论 -
【Node系列】node工具模块
Node.js的OS模块是一个内置的模块,可以用来获取操作系统相关的信息和机器物理信息。方法显式地将发射器添加到域中,如果由发射器调用的任何事件处理程序引发错误,或者如果发射器发出错误事件,则将其路由到域的错误事件。,该方法在域的上下文中运行提供的函数,隐式地绑定在该上下文中创建的所有事件发射器、计时器和底层请求。Node.js的Domain模块提供了一种有效的方式来处理异步代码中的异常和错误,简化了异常处理的过程。这些方法可以用于处理文件和目录的路径,方便地获取路径中的不同部分或进行路径的拼接和解析。原创 2024-02-03 07:30:00 · 838 阅读 · 1 评论 -
【Node系列】Buffer详解
使用Buffer的主要原因是基于性能方面的考虑,特别是在进行I/O操作和网络数据传输时,预先把静态内容(字符串、图片等)转换为Buffer对象,可以减少CPU的重复使用、节省服务器资源并大幅提升性能。每个Buffer实例对应底层的固定长度的内存分配,大小在被创建时确定,且无法改变,但实例对象的内容可以像操作数组一样修改。此外,Buffer实例的元素为16进制的两位数,即0~255的数值(16的二次方),可以像数组一样操作Buffer实例。在Node.js中,Buffer类是核心模块的一部分,无需手动创建。原创 2024-02-02 17:01:37 · 2820 阅读 · 3 评论 -
【Node系列】node核心模块util
Node.js的核心模块util为开发者提供了一些常用的实用工具函数。这些函数能够很方便地进行对象的继承、类型判断以及其他工具函数的实现。继承函数的封装:util.inherits()函数可以用来实现对象间的原型继承。使用这个函数可以将一个构造函数的原型链中的方法继承到另一个构造函数的原型链中。类型判断函数:util模块提供了一些判断数据类型的函数,如util.isArray()用于判断一个对象是否为数组,util.isDate()用于判断一个对象是否为日期对象等。原创 2024-02-02 11:22:43 · 1290 阅读 · 1 评论 -
【Node系列】常用工具介绍
Express.js:Express.js 是一个基于 Node.js 的轻量级 Web 应用程序框架,它提供了一种简单的方式来处理 HTTP 请求和响应。');});');});MongoDB:MongoDB 是一个文档数据库,它使用 BSON(二进制 JSON)格式来存储数据。Node.js 的 MongoDB 驱动程序使得开发者可以轻松地与 MongoDB 数据库进行交互。db.close();});});Socket.IO。原创 2024-02-02 10:52:18 · 536 阅读 · 1 评论 -
【Node系列】EventEmitter详解
Node.js 的 EventEmitter 是一个核心模块,用于处理事件驱动的编程。它提供了一个事件发射器类,可以在其上注册事件监听器,并在特定事件发生时触发这些监听器。事件:事件是由 EventEmitter 类表示的字符串或数字。你可以在任何时候触发这些事件。监听器:监听器是一个函数,当特定事件被触发时,它将被调用。你可以使用on方法添加监听器到特定事件。触发事件:使用emit方法可以触发一个事件,所有注册到该事件的监听器都将被调用。移除监听器:如果你不再需要一个监听器,可以使用off。原创 2024-02-01 15:47:09 · 2936 阅读 · 1 评论 -
【Node系列】回调函数/事件循环
Node.js 异步编程的直接体现就是回调。Node.js 的回调函数是一种异步编程模式,用于处理需要一些时间来完成的操作。通过使用回调函数,Node.js 能够非阻塞地执行代码,这意味着当一个操作正在进行时,Node.js 可以继续执行其他代码,而不是等待该操作完成。Node.js 的事件循环是其核心特性之一,它决定了 Node.js 是如何处理异步操作的。事件循环是 Node.js 处理非阻塞 I/O 操作的关键机制,它不断地从事件队列中取出事件并执行对应的回调函数。原创 2024-02-01 15:07:37 · 2730 阅读 · 2 评论 -
【Node系列】REPL详解
Node.js REPL(Read-Eval-Print Loop)是一个交互式环境,允许用户在命令行中直接输入JavaScript代码并立即看到结果。REPL是Node.js的一个重要组成部分,它提供了一个方便的方式来测试代码片段、快速尝试新功能或进行调试。要启动Node.js REPL,只需在命令行中输入node或node repl,然后按Enter键。你将看到一个提示符(默认为),表示你现在可以在REPL环境中输入JavaScript代码了。输入代码。原创 2024-02-01 14:54:40 · 1597 阅读 · 1 评论 -
【Node系列】创建第一个服务器应用
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以用于构建高性能的网络应用程序。它采用事件驱动、非阻塞I/O模型,使得程序可以以高效地方式处理并发请求。单线程:Node.js采用单线程模型,使用事件循环来处理并发请求。这意味着它可以高效地处理大量的并发请求,而不会因为线程切换而产生开销。非阻塞I/O:Node.js使用非阻塞I/O模型,可以在进行I/O操作时继续处理其他请求,而不需要等待I/O操作完成。这使得Node.js非常适合处理高并发的网络应用程序。原创 2024-02-01 14:15:02 · 5250 阅读 · 1 评论 -
【Node系列】文件系统介绍及案例说明
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以用于构建高性能的网络应用程序。它采用事件驱动、非阻塞I/O模型,使得程序可以以高效地方式处理并发请求。单线程:Node.js采用单线程模型,使用事件循环来处理并发请求。这意味着它可以高效地处理大量的并发请求,而不会因为线程切换而产生开销。非阻塞I/O:Node.js使用非阻塞I/O模型,可以在进行I/O操作时继续处理其他请求,而不需要等待I/O操作完成。这使得Node.js非常适合处理高并发的网络应用程序。原创 2024-02-01 11:46:17 · 1300 阅读 · 1 评论 -
npm详细安装教程
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许你在服务器端运行JavaScript代码。npm(Node Package Manager)是Node.js的软件包管理器,用于安装、发布和共享JavaScript模块。然而,值得注意的是,Node.js和npm并不是适用于所有类型的应用程序和场景。运行脚本:在package.json文件中定义脚本命令,然后使用npm run命令来运行这些命令。查看已安装的包:使用npm root命令来查看已安装的包的路径。原创 2023-12-28 09:37:41 · 10758 阅读 · 1 评论 -
mac下 node版本的切换 n
node版本切换转载 2022-11-21 17:36:16 · 3214 阅读 · 1 评论 -
node介绍
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,可用于开发端到端的网络应用程序,也可以用于构建网络服务器。它提供了一种非阻塞、事件驱动的异步编程模型,使得高效处理大量并发连接成为可能。Node.js 使用单线程的事件循环机制来处理请求,而不是为每个请求创建一个新的线程。这使得它能够处理大量的并发连接,而不会导致资源的过度消耗和性能的下降。高性能:Node.js 使用了 Chrome V8 引擎,该引擎以其出色的性能而闻名。原创 2021-11-17 16:37:39 · 555 阅读 · 0 评论 -
Node版本管理 package.json中^和~的区别
"dependencies": { "css-loader": "~2.1.0", "es6-promise": "^2.0.0",}~符号若css-loader有新的版本2.2.0及以上,你咋执行npm install时,只会匹配到2.1.x的最新版本,不会匹配到2.2.0及以上^符号若es6-promise有新的版本3.0.0及以上,你咋执行npm install时,只会...原创 2019-10-29 11:54:51 · 3184 阅读 · 0 评论 -
Node中http模块详解(服务端篇)
Node中的HttpNode中提供了http模块,其中封装了高效的http服务器和http客户端 http.server是一个基于事件的HTTP服务器,内部是由c++实现的,接口由JavaScript封装 http.request是一个HTTP客户端工具。用户向服务器发送数据。 下面就来分别得介绍一下http的服务端和客户端一、HTTP服务器http.Server实现的,它提供了一套封装级别很低的...转载 2017-12-11 11:43:32 · 530 阅读 · 0 评论