Node.js 入门教程 2 Node.js 简史

news2025/2/26 23:18:11

Node.js 入门教程

Node.js官方入门教程

Node.js中文网

本文仅用于学习记录,不存在任何商业用途,如侵删

文章目录

      • Node.js 入门教程
      • 2 Node.js 简史
        • 2.1 一点历史
        • 2.2 2009
        • 2.3 2010
        • 2.4 2011
        • 2.5 2012
        • 2.6 2013
        • 2.7 2014
        • 2.8 2015
        • 2.9 2016
        • 2.10 2017
        • 2.11 2018
        • 2.12 2019
        • 2.13 2020
        • 2.14 2021

2 Node.js 简史

Node.js 诞生才12年【13了吧…】

相比之下,JavaScript 已存在 26 年 ,而 Web 则是 33 年。

12 年在技术领域并不是很长的时间,但 Node.js 似乎已经存在很久了。

绘制了 Node.js 历史的大图,以透视事物。

2.1 一点历史

JavaScript 是一门编程语言,由 Netscape 创建,作为脚本工具用于在其浏览器 Netscape Navigator 中操作网页。

Netscape 的部分商业模式是销售 Web 服务器,其中包括一个名为 Netscape LiveWire 的环境,可以使用服务器端 JavaScript 创建动态页面。

不幸的是,Netscape LiveWire 并不是很成功,服务器端 JavaScript 直到最近才流行起来,因为 Node.js 的引入。

引领 Node.js 兴起的一个关键因素是时机。

就在几年前,由于“Web 2.0”应用程序(如 Flickr、Gmail 等)向世界展示了网络上的现代体验,JavaScript 才开始被视为一门更严肃的语言。

随着许多浏览器竞相为用户提供最佳性能,JavaScript 引擎也变得相当出色。 主流浏览器背后的开发团队努力为 JavaScript 提供更好的支持,并找到使 JavaScript 运行得更快的方法。

Node.js 在引擎盖下使用的引擎 V8(也称为 Chrome V8,因为它是 Chromium 项目的开源 JavaScript 引擎),由于这场竞争而得到了显着改进。

Node.js 恰好是在正确的时间和地点构建的,但运气并不是它今天流行的唯一原因。

它为 JavaScript 服务端开发引入了很多创新思维和方法,已经帮助了很多开发者。

2.2 2009

  • Node.js 诞生

  • 第一版的 npm 被创建

    https://www.npmjs.com/

    在这里插入图片描述

2.3 2010

  • Express 诞生

    https://expressjs.com/

    在这里插入图片描述

  • Socket.io 诞生

    https://socket.io/

    在这里插入图片描述

2.4 2011

  • npm 发布 1.0 版本

  • 较大的公司(LinkedIn、Uber 等)开始采用 Node.js

  • hapi 诞生

    https://hapi.dev/

    在这里插入图片描述

2.5 2012

  • 普及速度非常快

2.6 2013

  • 第一个使用 Node.js 的大型博客平台:Ghost

    https://ghost.org/

    在这里插入图片描述

  • Koa 诞生

    https://koajs.com/

    在这里插入图片描述

2.7 2014

  • 大分支:io.js 是 Node.js 的一个主要分支,目的是引入 ES6 支持并加快推进速度

    https://nodejs.org/en/

    在这里插入图片描述

2.8 2015

  • Node.js 基金会 诞生

    https://openjsf.org/

    在这里插入图片描述

  • IO.js 被合并回 Node.js

  • npm 引入私有模块

  • Node.js 4(以前从未发布过 1、2 和 3 版本)

2.9 2016

  • leftpad 事件

    https://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm

    在这里插入图片描述

  • Yarn 诞生

    https://classic.yarnpkg.com/en/

    在这里插入图片描述

  • Node.js 6

2.10 2017

  • npm 更加注重安全性
  • Node.js 8
  • HTTP/2
  • V8 在其测试套件中引入了 Node.js,除了 Chrome 之外,Node.js 正式成为 JS 引擎的标杆
  • 每周 30 亿次 npm 下载

2.11 2018

  • Node.js 10

  • ES 模块 .mjs 实验支持

    https://nodejs.org/api/esm.html

    在这里插入图片描述

  • Node.js 11

2.12 2019

  • Node.js 12
  • Node.js 13

2.13 2020

  • Node.js 14
  • Node.js 15

2.14 2021

  • Node.js 16
  • Node.js 17

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聊一聊微服务常见配置中心工作原理

0. 环境 nacos版本:1.4.1 Spring Cloud : 2020.0.2 Spring Boot :2.4.4 Spring Cloud alibaba: 2.2.5.RELEASE Spring Cloud openFeign 2.2.2.RELEASE 测试代码:github.com/hsfxuebao/s… 1. 配置中心基础 1.1 为什么要用配置中心&…

Js逆向教程-15滑块流程 极验

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Js逆向教程-15滑块流程 极验 一、滑块是什么? 区分是否是机器人。根据滑动轨迹区分是否是人操作的。 滑块肯定有滑动条 …

亚马逊云科技持续创新、领势而行,re:Invent颠覆想象

当一行行代码成为托起数字社会的基础架构,社会发展开始面临真正意义上的变革与重塑。作为云计算领域的探路者与引领者,亚马逊云科技持续创新、领势而行,正不断塑造并颠覆着大众关于云计算未来的想象。 2006年 开端 2006年,亚马逊…

【单片机基础】I2C通信-基于STC89C52RC

文章目录1、IIC总线结构2、IIC总线传输协议3、完成工程代码1、IIC总线结构 IIC总线是philips公司在八十年代初推出的一种串行、半双工总线。主要用于近距离、低速的芯片之间通信;IIC总线有两根双向的信号线,一根数据线SDA用于收发数据一根时钟线SCL用于…

Mac 使用paralles 从零搭建hadoop集群

目录 1. 虚机的安装与配置 1.1 安装parallels 1.2 安装fedora系统 1.3 fedora的配置 1.3.1 内存和硬盘配置 1.3.2 网络配置 1.3.3 共享文件夹 1.4 虚拟机克隆 与 加载 2. 免密登录 2.1 分别查看master, slave01,slave02 的ip 2.2 查看各虚机的…

关于mpy电压采集模块的那些事儿(ads1256 ads8688 ad7606)

先来个人生碎碎念,越狱第三次失败了,而且第四次也可能失败,没错就是这么尴尬,绝对越狱的事件还有917天,其实比较麻木了,越狱成功与否都无所谓了,其实现在出去,外头的疫情&#xff0c…

【学生网页设计作业源码】基于HTML+CSS+JavaScript简单的大学生书店(13个页面) 二手书店电子商务网站模板源码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

常见的数据结构基本介绍

文章目录常见的数据结构介绍栈和队列的介绍数组数据结构链表数据结构二叉树和二叉查找树平衡二叉树红黑树结构常见的数据结构介绍 数据结构是计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。 通常情况下,精心选择的数据结构可以带来更…

应用ceph文件系统存储(ceph-13.2.10)

记录:333 场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群。应用ceph文件系统(ceph file system);主要是创建ceph文件系统、客户端挂载ceph文件系统等操作。 版本: 操作系统:CentOS 7.9 ceph版本&am…

JS获取音频的总时长,解决audio.duration 为 NaN || Infinity 问题

目录一、需求分析二、发现问题1.使用浏览器内置播放器<audio>无法显示时长2.获取总时长为 NaN || Infinity三、疑惑点四、解决方案一、需求分析 后端的接口中包含音频链接&#xff0c;前端需要自定义一个播放器播放音频。 二、发现问题 1.使用浏览器内置播放器<audi…

JPA 中使用 @OneToMany 、@ManyToOne 等关系映射注解

JPA 做 ORM(Object Relational Mapping&#xff0c;对象关系映射)时&#xff0c;为了开发效率&#xff0c;通常会在实体类上用 hibernate 的关系关联注解。 包括&#xff1a;OneToOne、 OneToMany 、ManyToOne 、ManyToMany 、JoinTable、以及 JoinColumn 以及 OrderBy&#xf…

汽车Automotive > SOME/IP应用学习

目录 SOME/IP介绍 SOME/IP主要功能 SOME/IP协议 SOME/IP服务类型 SOME/IP-举例 SOME/IP各模块协议 SOME/IP-基础元件 SOME/IP-SoAD SOME/IP-SD协议 SOME/IP-SD举例 SOME/IP-TP协议 SOME/IP-TP举例 SOME/IP介绍 SOME/IP ( Scalable service-Oriented Middleware ove…

面向大规模队列,百万并发的多优先级消费系统设计

大规模队列的核心诉求&#xff0c;不仅需要「快」&#xff0c;还需要兼顾「公平」。01 引言 HTTP是一种常用的通信协议&#xff0c;除了常见网站访问、上传下载&#xff0c;HTTP协议还经常被用在消息推送场景上。 设想你搭建了一个电商平台&#xff0c;有很多大型商家入驻了该…

Kotlin协程Flow浅析

Kotlin协程中的Flow主要用于处理复杂的异步数据&#xff0c;以一种”流“的方式&#xff0c;从上到下依次处理&#xff0c;和RxJava的处理方式类型&#xff0c;但是比后者更加强大。 Flow基本概念 Flow中基本上有三个概念&#xff0c;即 发送方&#xff0c;处理中间层&#x…

HTML+CSS大作业 (水果之家10个网页)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

数字验证学习笔记——SystemVerilog芯片验证11 ——类的继承

一、类和继承 类的第二核心要素&#xff0c;即类的“继承”&#xff0c;继承也符合我们认识实际的观点&#xff0c;在自然界和科学界我们对世界的认识无外乎归纳法和演绎法。 归纳论证是一种由个别到一般的论证方法。它通过许多个别的事例或分论点&#xff0c;然后归纳出它们所…

17、Mybatis获取参数值的情况3(若mapper接口方法的参数为多个时,可以手动将这些参数放入map中存储)

Mybatis获取参数值的情况3&#xff08;若mapper接口方法的参数为多个时&#xff0c;可以手动将这些参数放入map中存储&#xff09; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a;

Linux系统tcp连接设置

目录net.ipv4.tcp_syn_retriesnet.ipv4.ip_local_port_rangenet.ipv4.tcp_net.core.somaxconnnet.ipv4.tcp_max_syn_backlognet.core.netdev_max_backlognet.ipv4.tcp_synack_retriesnet.ipv4.tcp_abort_on_overflownet.ipv4.tcp_syncookiesnet.ipv4.tcp_fastopennet.ipv4.tcp_…

兆易创新GD32 (四)FreeRTOS 移植 与 CMSIS OS2

可以完全参考STM32系列的方法 FreeRTOS 逛网下载 FreeRTOS源码 https://www.freertos.org/a00104.html GitHub地址 https://github.com/FreeRTOS/FreeRTOS-Kernel 下载后的FreeRTOS-Kernel复制到LIB文件夹下 在KEIL中添加文件&#xff0c;首先是公共部分 添加MDK移植文件CM4F…

含抽水蓄能电站系统的调峰经济调度研究matlab程序(粒子群算法)

含抽水蓄能电站系统的调峰经济调度研究matlab程序&#xff08;粒子群算法&#xff09; 参考文献&#xff1a;抽水蓄能电站的最佳调度方案研究 调峰电源的优化调度是促进电力系统安全稳定运行&#xff0c;实现可靠供电的要措施。因为目前我国的调峰电源严重不足&#xff0c;尤其…