首页
学习
活动
专区
工具
TVP
发布

进击的前端工程师》-Node.js事件循环

中的事件队列 Node.js中有多个队列,不同类型的事件在各自的队列中排队。...队列 Other Microtasks队列 Node.js与浏览器的Event Loop差异 我们可以回顾下浏览器中JavaScript事件循环,请移步我的另篇文章如何解释Event Loop面试官才满意...在Node.js中,microtask会在事件循环的各个阶段之间执行,也就是个阶段执行完毕,就会去执行microtask队列的任务。 (本文的Macrotask在WHATWG 中叫task。...会让其他的事件处理程序处于饥饿状态,为了防止这个问题,Node.js提供了个process.maxTickDepth(默认为1000)。...Node.js v11变更的事件循环 从Node.js v11开始,事件循环的原理发生了变化,在同个阶段中只要执行了macrotask就会立即执行microtask队列,与浏览器表现致。

99620

Node.js基础

1.Node开发概述 1.1为什么要学习服务器端开发基础 能够和后端程序员更加紧密的配合 网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax) 扩宽知识视野,能够站在更高的角度审视整个项目...Node.js是由ECMAScript及Node 环境提供的些附加API组成的,包括文件、网络、路径等等 些更加强大的API。 ?...3.2 Node.js基础语法 所有ECMAScript语法在Node环境中都可以使用。 在Node环境下执行代码,使用Node命令执行后缀为js的文件即可(在需要执行的文件目录下执行) ?...4.4 Node.js中模块化开发规范 Node.js规定 个JavaScript文件就是 个模块, 模块内部定义的变量和函数默认情况下在外部无法得到....在Node.js中,每次修改文件都要在命令行具中重新执行该文件,非常繁琐。

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

Node.js基础

Node.js的前世今生 什么是Node.js? Node.js个让JavaScript运行在服务器端的开发平台,功能类似的其他后端语言,如PHP、JSP、Python、Ruby。...和系统进行交互 Node.js和其他后端语言的区别 +Node.js不是种独立的语言:PHP, JSP,.......的安装和基本操作 Node.js的安装 官网下载Node.js https://nodejs.org/en/ 安装过程直接下步 安装完成后, 会自动配置好环境变量,可以在任何个目录当中访问...node命令,如果能在控制台通过node -v 查看node 版本,说明Node.js安装成功 第个程序Hello World 在指定的目录当中创建个.js的文件,注意不能使用中文命名 运行方式使用...; 从结构看, 多个JS文件之间可以相互require, 共同实现了个功能, 这整体上也是个模块 在Node.js中, 个模块中定义的变量, 函数等, 都只能在这个文件内部有效; 当需要从此JS文件外部引用这些变量

68140

Node.js基础

Node简介 根据官方文档可以知道,node就是个给予谷歌v8引擎的个javascript的运行时,可以理解为运行js的个虚拟机。...他使用的是个 事件驱动,非阻塞I/O模型 ,他是将js的运行环境搬到了服务器端,和客户端没有点关系。是个纯服务端的东西,node只是为js提供了个平台。...node里面其实还分了两块,是封装了v8引擎,目的是为了执行es(如定义变量,定义函数等),另外个提供了大量的工具库,是帮助node实现各种功能的,提供了些以前js的环境办不到的事情,比如文件操作...通过上面的两点,可以总结出,node在web中要么从前端页面到后端服务全包了,个是只做其中的点。     ...言以蔽之,node就是个javascript的运行环境(平台),他不是门语言,也不是javascript的框架。可以用来开发服务端应用程序,web系统。其特点是体积小,快速,高性能。

89100

Node.js基础

1.Node开发概述 1.1为什么要学习服务器端开发基础 能够和后端程序员更加紧密的配合 网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax) 扩宽知识视野,能够站在更高的角度审视整个项目...1.2服务器端开发要做的事情 实现网站的业务逻辑 数据的增删改查 1.3为什么选择Node 使用JavaScript语法开发后端应用 些公司要求前端工程师学握Node开发...生态系统活跃,有大量开源库可以使用 前端开发工具大多基于Node开发 1.4 Node是什么 Node是个基于Chrome V8引擎的JavaScript代码运行环境 运行环境 浏览器(软件...)能够运行JavaScript代码,浏览器就是JavaScript代码的运行环境 Node(软件)能够运行JavaScript代码,Node就是JavaScript代码的运行环境 2.1 Node.js

31120

Node.js 基础入门

Node.js 简介 Node.js个基于 Chrome V8 引擎 的 JavaScript 运行时环境 安装与运行 下载 https://nodejs.org/zh-cn/download...Node.js 版本?...Manager 特点 [特点] 异步 I/O 当 Node.js 执行 I/O 操作时,会在响应返回并恢复操作,而不是阻塞线程并浪费CPU 循环等待 [异步 I/O] 单线程 Node.js 保持了...Windows 和*nix 平台,主要得益于在操作系统与Node 上层模块系统之间构建了层平台架构 [跨平台] 应用场景 Node.js 在大部分领域都占有席之地,尤其是I/O密集型的 Web 应用...平台的下代Web 开发框架 Koa 它仅仅提供了个轻量优雅的函数库,使得编写Web 应用变得得心应手, 不在内核方法中绑定任何中间件 const Koa = require('koa'); const

1.3K50

node.js基础入门

Node.js简介node.js个基于Google V8引擎的、跨平台的JavaScript运行环境,不是个语言安装与运行node.js可以在官网进行安装 nodejs.org/zh-cn/?...选择自己的运行环境进行安装,安装完成之后就可以在vscode中创建node.js的程序现在我们创建个读取文件内容的node程序?...应用场景node.js在大部分领域都占有席之地,尤其是I/O密集型web应用:Express/Koa前端构建:WebpackGUI客户端软件:VSCode/网易云音乐其他:实时通讯、爬虫、CLI等.....Web应用开发http模块搭建个最简单的http服务,Node.js内置的http模块const http = require('http')​http.createServer((req,res)=...(个进程只开个线程)Node.js虽然是单线程模式,但是基于事件驱动、异步非阻塞模式,可以应用于高并发场景,同时避免了线程创建、线程之间上下文切换所产生的资源开销。

69950

Node.js Stream - 基础

Node.js中,内置的Stream模块也实现了类似功能,各部分通过.pipe()连接。...第次data事件会在下个tick中触发,所以,可以安全地将数据输出前的逻辑放在事件监听后(同个tick中)。 当数据全部被消耗时,会触发end事件。...可写端的接口与Writable致,作为下游来使用;可读端的接口与Readable致,作为上游来使用。...但每个构造函数都接收个配置对象,有个objectMode的选项,旦设置为true,就能出现“种瓜得瓜,种豆得豆”的效果。 Readable未设置objectMode时: ? 输出: ?...预告 Stream系列共三篇文章: 第部分:基础篇,介绍Stream接口的基本使用。 第二部分:进阶篇,重点剖析Stream底层如何支持流式数据处理,及其back pressure机制。

1K51

node.js - 基础之module

1. node.js模块概述 为了让node.js的文件可以相互调用,node.js提供了个简单的模块系统。模块是node.js应用程序基本的组成部分,文件和模块是一一对应的。...换言之,node.js文件就是个模块,这个文件可能是javascript代码、json或者编译过的c/c++扩展。...创建模块的两种方式 创建模块有两种方式, 通过exports创建 通过module.exports创建 2.1 通过exports创建模块 node.js中,创建个模块非常简单,我们创建个main.js...再强调点,在node.js中,个文件对应个模块。...http = require('http') ... http.createServer() 简要描述下上面的代码,node.js中自带了个叫做http的模块,在上述代码中我们请求它并把返回的值赋值给个本地变量

90930

Node.js基础教程

Node.js 的推出,不仅从工程化的角度自动化掉更多琐碎费时的工作,更打破了前端后端的语言边界,让 JavaScript 流畅的运行在服务器端,本系列课程旨在引导前端开发工程师,以及 Node.js...什么是node.js 是编写高性能服务器的JavaScript工具包 单线程,异步,事件驱动 特点,快,耗内存多 node.js性能高,开发效率高,应用范围广 node.js的安装: 下载地址:http...://node.js.cn 测试下安装环境: dos下命令行:npm 查看npm的版本:npm -v 查看node.js版本命令行:node -v node.js个基于Chrome v8引擎的JavaScript...运行环境,Node.js使用了个事件驱动,非阻塞式i/o的模型,使其轻量又高效。...node.js的包管理器npm,是全球最大的开源系统。

49740

Node.js 异步编程基础理解

参考地址:《深入理解node.js异步编程:基础篇》 、概述 目前开源社区最火热的技术当属 Node.js 莫属了,作为使用 Javascript 为主要开发语言的服务器端编程技术和平台,开始就注定会引人瞩目...二、Node.js 异步 IO 与事件 初次接触Node.js,恐怕任何人都会被先先灌输的第Node.js就与众不同的地方:异步IO和事件驱动。...Node.js 异步机制 由于异步的高效性,node.js 设计之初就考虑做为个高效的 web 服务器,作者理所当然地使用了异步机制,并贯穿于整个 node.js 的编程模型中,新手在使用 node.js...如何开始个简单的 Node.js 事件编程呢?...基本上所有的事件机制都是用设计模式中观察者模式实现,观察者模式网络资料大堆,如何想要深入了解的话可以网络搜索或者阅读权威书籍,可以参考《设计模式:可复用面向对象软件的基础》和《Head First 设计模式

1.5K100

Node.js基础搭建服务测试

首先确保安装node,下载地址 node.js下载地址 还是下长期维护版本的比较好,建议不要下载新版本,此案例,针对windows下的哈 ?...接下来的就更有意思了(我这个是针对没有基础的哈,不要来就说用框架,先基础懂原理了,框架自然好做),在你的电脑中,随便那个盘,创建个文件(空文件),然后在你喜欢的编辑器中打开你创建的文件,然后创建js...),然后在你的浏览器中访问 http://localhost:9988/ 就可以访问到你所打印出来的文字了(学习node.js) 这样其实基本的就已经创建好了,再来个好耍的,就是去监听浏览器的输入内容...; } res.end(); }) server.listen(9988) 当然以后服务器几百个东西,不可能都去写 case ‘什么什么’: break;后面会讲解简单方法,还是老话,基础基础...,原理要懂 这个算是node的最基础的教程了,不懂的可以问我,很乐意问你解答,后面我会陆续更新,从小白到自己做个简易服务

87340

前端基础:node.js、npm、webpack

1 Node.js 1.1 简介 定义 JS的服务端运行环境 用途 构建工具webpack的环境依赖 特点 单线程、异步编程 应用场景 低运算、高I/O Nodejs的包管理工具: 2 npm...cookie 登录后,发现新增 jssessionID 字段的 cookie,属于 http-only, 用户端不可修改 3 前端框架 三大框架 4.3 node.js...及 yarn 安装 4.4 Webpack 配置 webpack,个前端资源加载/打包工具 需要处理的文件类型 Html html-webpack-plugin 脚本 babel +...webpack-dev-server 为webpack项目提供web服务 更改代码自动刷新,路径转发 yarn add webpack-dev-server@2.9.7 --dev 解决多版本共存问题 5 React基础...视图层框架 个构建用户界面的框架 声明式的框架 数据驱动DOM,再用事件反馈给数据 组件化开发 组件组合而不是继承 state && props 生命周期 理解JSX 种JS扩展的表达式 带有逻辑的标记语法

1.9K40

好未来数据中台 Node.js BFF实践():基础

好未来数据中台 Node.js BFF实践系列文章列表: 基础篇 实战篇(TODO) 进阶篇(TODO) 好未来数据中台的Node.js中间层从7月份开始讨论可行性,截止到9月已经支持了4个平台,...Node.js中间层的立项完全是个意外。...对于 Node.js 来说就相当于次请求,所以需要 Node.js 提供个专用的接口比如/health,需要额外工作,并且这个接口不应该记录日志。...Node.js 与 Java 后端约定个日志串联的规范,Node.js 向 Java 发起的请求头中携带个额外字段 x-trace-id,值为 Node.js 生成的 requestId。...下篇会写下目前接入的几个项目中 Node.js 中间层扮演的角色和具体做的事情,敬请期待。

3.5K20
领券