NodeJS
文章平均质量分 95
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它能够在服务器端运行JavaScript代码。Node.js采用了事件驱动、非阻塞I/O模型,能够高效地处理大量并发连接,适用于构建高性能、可扩展的网络应用。
阿珊和她的猫
前端开发工程师、CSDN博客专家、23年度博客之星前端领域TOP1、蓝桥云课签约作者、阿里云专家博主、已过四六级、牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》《2024前端面试高频手撕题》,已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》
展开
-
了解 Node.js 的运行机制:从事件循环到模块系统(下)
Node.js 是一个单进程、单线程模型,这意味着在 Node.js 中,所有的 I/O 操作(例如网络请求、文件读取等)都是异步的,并且使用事件驱动的编程模型。单进程:Node.js 只使用一个进程来执行代码,这意味着所有的代码都在同一个进程中运行,而不是像多进程模型那样在多个进程中运行。单线程:Node.js 使用事件驱动的编程模型,这意味着所有的 I/O 操作都是异步的,并且使用非阻塞的编程方式。每个 I/O 操作都会立即返回一个 Promise 对象,而不是等待操作完成。原创 2024-01-10 00:15:00 · 926 阅读 · 0 评论 -
了解 Node.js 的运行机制:从事件循环到模块系统(上)
Node.js 的出现是为了解决 JavaScript 在服务器端开发中的不足。在传统的服务器端开发中,JavaScript 主要用于处理 HTTP 请求和响应,而 Node.js 则提供了更加全面的服务器端开发能力,包括文件系统访问、网络编程、异步编程等。快速搭建 Web 应用程序:Node.js 可以使用 Express 等框架快速搭建 Web 应用程序,提供了一个简单易用的 API 开发平台。构建高性能服务器:Node.js 可以在高并发环境下提供高性能的服务,例如使用事件驱动的异步编程模型。原创 2024-01-10 00:00:00 · 2129 阅读 · 0 评论 -
Node.js 事件循环:定时任务、延迟任务和 I/O 事件的艺术
Promise 和 Async/Await 是 JavaScript 中的异步编程解决方案,它们与事件循环密切相关。Promise 是一种用于处理异步操作结果的对象。它可以表示一个异步操作的最终完成(fulfillment)或失败(rejection)。Promise 对象有一个then方法,用于注册在异步操作完成后执行的回调函数。在事件循环中,Promise 的处理通过 Promise 队列(promise)进行。当创建一个 Promise 对象时,它会被添加到 Promise 队列中。事件循环会在。原创 2023-11-28 21:21:51 · 1987 阅读 · 0 评论 -
掌握 Node.js 事件循环,让代码更高效
Node.js 中的事件循环包含六个阶段,每个阶段都有一个事件队列。timers阶段:处理定时器事件。I/O阶段:处理 I/O 事件,如文件读取、网络请求等。poll阶段:检查是否有新的 I/O 事件,如果有,则处理它们。check阶段:执行一些系统级的检查和回调函数。close阶段:处理关闭事件,如文件关闭、连接关闭等。idle阶段:当事件队列中没有事件时,事件循环会进入该阶段,等待新的事件到来。在每个阶段中,事件循环会从事件队列中取出事件并执行它们的回调函数。原创 2023-11-28 21:14:45 · 919 阅读 · 0 评论 -
深入浅出Node.js中的node_modules
在Node.js中,是一个特殊的目录,通常用来存放项目所依赖的npm包及其相关依赖,以供应用程序在运行时动态加载所需的模块和库文件。当使用npm或者yarn等包管理工具安装npm包时,会将相关依赖包下载并保存在项目的目录下,以便于在应用程序中引用和使用这些包。因此,是一个重要的概念,对于开发和部署Node.js应用来说都是必不可少的一部分。Node.js 中的 node_modules 目录是非常重要的,用于存储应用程序所需的所有依赖项(包括 JavaScript 模块、类库、框架等)。原创 2023-06-14 05:30:00 · 8777 阅读 · 2 评论 -
7道测试题:检验你的Node.js基础知识!
fs模块的`createReadStream`可以创建一个fs.ReadStream实例,`ReadStream`实现了stream.Readable接口,stream.Readable在数据到达时发射data事件,通过给data关联callback就可以处理数据。原创 2019-08-25 20:39:52 · 6095 阅读 · 1 评论 -
适合Node.js的应用场景
1. RESTful API这是Node.jS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。它本质上只是从某个数据库中查找一些值并将它们组成一个响应。由于响应是少量文本,入站请求也是少量的文本,因此流量不高,一台机器甚至也可以处理最繁忙的公司的API需求。2. 统一Web应用的UI层目前MVC的架构,在某种意义上来说,Web开发有两个UI层...原创 2020-01-17 15:14:55 · 499 阅读 · 0 评论 -
Node.js的优缺点
特别说明## 标题Java、PHP也有办法实现并行请求(子线程),但NodeJS通过回调函(Callback)和异步机制会做得很自然。优点:高并发(最重要的优点,可以应付百万级并发)适合I/O密集型应用缺点:不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,...原创 2020-01-17 15:12:36 · 296 阅读 · 0 评论 -
【NodeJS】20 koa 企业级Cms内容管理系统-XMind功能分析、ERStudio设计数据库ER图
一、 什么是 CMSCMS 是"Content Management System“的缩写,意为"内容管理系统”。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。二、 XMind 分析项目功能三、 ERStudio 设计数据库 ER 图...原创 2020-01-16 23:02:59 · 696 阅读 · 0 评论 -
【NodeJS】19 koa 路由模块化 视图模块化(2)
一、koa 应用生成器通过应用 koa 脚手架生成工具 可以快速创建一个基于 koa2 的应用的骨架。1、全局安装npm install koa-generator -g2、创建项目koa koa_demo3、安装依赖cd koa_demonpm install4、启动项目npm start二、koa 搭建模块化路由/层级路由1、在目录下面新建一个文件夹 rout...原创 2020-01-16 22:57:40 · 309 阅读 · 0 评论 -
【NodeJS】11Koa Session 的使用
一、Session 简单介绍session 是另一种记录客户状态的机制,不同的是Cookie 保存在客户端浏览器中,而session 保存在服务器上。二、Session 的工作流程当浏览器访问服务器并发送第一次请求时,服务器端会创建一个 session 对象,生成一个类似于 key,value 的键值对, 然后将 key(cookie)返回到浏览器(客户)端,浏览器下次再访问时,携带key...原创 2020-01-16 22:53:52 · 238 阅读 · 0 评论 -
【NodeJS】10 koa Cookie的使用
一、Cookie 简介cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据。HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何关系的。二、Koa Cookie 的使用1、Koa 中设置 Cookie 的值ctx.cooki...原创 2020-01-16 22:47:47 · 203 阅读 · 0 评论 -
【NodeJS】08 koa-static静态资源中间件
一、Koa 中 koa-static 中间件的使用1、安装 koa-staticnpm install --save koa-static2、引入配置中间件const static = require('koa-static'); app.use(static( //注意是两个_ path.join( __dirname, 'public')))...原创 2020-01-16 22:40:26 · 393 阅读 · 0 评论 -
【NodeJS】05 koa 中间件 以及koa中间件的洋葱图执行流程
一、 什么是 Koa 的中间件通俗的讲:中间件就是匹配路由之前或者匹配路由完成做的一系列的操作,我们就可以把它叫做中间件。在 express 中间件(Middleware)是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处理请求-响应循环流程中的中间件,一般被命名为 next 的变量。在...原创 2020-01-16 22:21:31 · 421 阅读 · 0 评论 -
【NodeJS】04koa 路由 get传值 动态路由
一、 Koa 路由路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。通俗的讲:路由就是根据不同的 URL 地址,加载不同的页面实现不同的功能。Koa 中的路由和 Express 有所不同,在 Express 中直接引入 Express 就可以配置路由,但是在Koa 中我们需要安装对应的...原创 2020-01-16 20:24:10 · 604 阅读 · 0 评论 -
【NodeJS】03Koa异步处理Async 、Await和Promise 的使用(重点*)
async 是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。简单理解:async 是让方法变成异步。await 是等待异步方法执行完成。我们之前写的普通方法是这样的如何获取async 异步方法里面的数据?第一种方法await 是等待异步...原创 2020-01-16 19:41:14 · 784 阅读 · 0 评论 -
【NodeJS】01Koa 框架介绍以及 Koa2.x 环境搭建
一、 Koa 框架介绍Node.js 是一个异步的世界,官方 API 支持的都是 callback 形式的异步编程模型,这会带来许多问题,例如:1、callback 嵌套问题2、异步函数中可能同步调用 callback 返回数据,带来不一致性。为了解决以上问题 Koa 出现了。Koa – 基于 Node.js 平台的下一代 web 开发框架koa 是由 Express 原班人马打造的,...原创 2020-01-16 16:52:51 · 647 阅读 · 0 评论 -
【NodeJS】02学习Koa之前的一些准备工作:Es6 的一些常用语法
Es6 常见语法的使用1. let const varES5 中作用域有:全局作用域、函数作用域。没有块作用域的概念。ES6 中新增了块级作用域。块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。1.关于块级作用域2.关于var、let、const的区别var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。let定义的变量,只能在块作用域...原创 2020-01-16 18:27:13 · 385 阅读 · 0 评论