45天带你玩转Node(第一天)初探Node.js

这篇具有很好参考价值的文章主要介绍了45天带你玩转Node(第一天)初探Node.js。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

45天带你玩转Node

粉丝要求博主系统的写一篇关于Node.js的学习资料,但其实我们的Node.js知识点并不少,所以博主为大家搭建了一个专栏,为了方便大家系统的学习Node.js,大家记得订阅哦!虽然我们的Node.js还很年轻,但是他也已经有了很高的地位,让我们尽情的畅游在Node.js的专栏中吧,希望通过此专栏我们能够系统的将Node.js学好,它将会成为我们的一大亮点,我们可以用这款前端中的后端语言让提升我们的价值与眼界,如今的他也已经成为面试官口中的高并发面试内容了,一起加油!

玩转nodejs,node.js,前端,vue.js,javascript

前言

我们熟知在一个完整的项目中我们是需要前端、后端双技术的配合,传统的Web应用开发主要还是以PHP+MySQL或者是Tomcat+Java,两个系列各有优势,前者开发方式便捷、简单,但是总体性能并不高,对于大量请求或者即时应用来说并不合适,而后者虽然继承了Java的高性能优势,但对于开发者来说过于繁琐,从而给开发者造成了一定的困难,Node.js则结合了上面两种开主流开发方式的特点,他是一个开源和跨平台的 JavaScript 运行时环境。作为当下的前端开发工程师,大家对Node.js已经是熟悉到极致了,毕竟我们只要使用前端框架进行开发,必不可少的就是在我们电脑上配置Node环境;

Node.js简介

Node.js发布于2009年5月, 是一种能够在服务器端运行 Javasoript 语言的宿主环境。该宿主环境能够支持跨平台功能,如 Windows 平合、Linux 平台、Mac 平台等。使用 Nodejs 可以在服务器端使用 JavaScript 语言完成如 PHP、Java、Perl 等语言才能完成的后端开发功能,并且完成的项目更符合软件工程的要求。

Node.is 最初是由 Ryan Dahl 发起的开源项目,后由 Joyent 公司进行商业运营,尽管 Node.js诞生时间还不长(于2009年诞生),但是到目前为止,已经发展成相当庞大的生态系统,包含各大领域层次的 NPM 包,如MongoDB、MySQL 的连接器,以及 CSS的样式表、模板引擎、数宇格式化等。使用这些 NPM 包可以相当快捷地完成基本应用的开发

当 Node.js 执行 I/O 操作时(比如从网络读取、访问数据库或文件系统),Node.js 将在响应返回时恢复操作(而不是阻塞线程和浪费 CPU 周期等待)
这允许 Node.js 使用单个服务器处理数千个并发连接,而​​不会引入管理线程并发(这可能是错误的重要来源)的负担。Node.js 具有独特的优势,因为数百万为浏览器编写 JavaScript 的前端开发者现在无需学习完全不同的语言,就可以编写除客户端代码之外的服务器端代码。在 Node.js 中,可以毫无问题地使用新的 ECMAScript 标准,因为你不必等待所有用户更新他们的浏览器,你负责通过更改 Node.js 版本来决定使用哪个 ECMAScript 版本,你还可以通过运行带有标志的 Node.js 来启用特定的实验性功能。

Node.js的发展史

其实我们的Node.js才仅仅诞生12年,相比之下我们的JavaScript已经存在了26年,前端已经33年,在技术潮流中其实一个12年并不是很长,但是我们的Node.js发展到今天已经相对很完善了,可用性也非常高!下面先让我们了解一下Node.js的成长吧!

时间 成长
2009 Node.js诞生,第一版npm被创建
2010 Express诞生,Socket.io诞生
2011 npm 发布 1.0 版本,较大的公司(LinkedIn、Uber 等)开始采用 Node.js,hapi 诞生
2012 普及速度非常快
2013 第一个使用 Node.js 的大型博客平台:Ghost,Koa 诞生
2014 大分支:io.js 是 Node.js 的一个主要分支,目的是引入 ES6 支持并加快推进速度
2015 Node.js 基金会 诞生,IO.js 被合并回 Node.js,npm 引入私有模块,Node.js 4(以前从未发布过 1、2 和 3 版本)
2016 leftpad 事件,Yarn 诞生,Node.js 6
2017 npm 更加注重安全性,Node.js 8,HTTP/2,V8 在其测试套件中引入了 Node.js,除了 Chrome 之外,Node.js 正式成为 JS 引擎的标杆,每周 30 亿次 npm 下载
2018 Node.js 10,ES 模块 .mjs 实验支持,Node.js 11
2019 Node.js 12,Node.js 13
2020 Node.js 14,Node.js 15
2021 Node.js 16,Node.js 17

Node.js 框架和工具

Node.js 是一个底层平台。 为了让开发者的工作变得轻松有趣,社区在 Node.js 上构建了数千个库。

许多随着时间的推移而成为流行的选择。 以下是值得学习的部分列表:

AdonisJS:
基于 TypeScript 的全功能框架,高度关注开发者的效率、稳定和信任。Adonis 是最快的 Node.js Web 框架之一。

Egg.js:
使用 Node.js 和 Koa 构建更好的企业级框架和应用程序的框架。

Express:
提供了最简单而强大的方式来创建 Web 服务器。它的极简主义方法、没有偏见、专注于服务器的核心功能,是其成功的关键。

Fastify:
高度专注于以最少的开销和强大的插件架构提供最佳开发者体验的 Web 框架。Fastify 是最快的 Node.js Web 之一 构架。

FeatherJS:
Feathers 是轻量级的网络框架,用于使用 JavaScript 或 TypeScript 创建实时应用程序和 REST API。在几分钟内构建原型,在几天内构建可用于生产的应用程序。

Gatsby:
基于 React、由 GraphQL 驱动的静态网站生成器,具有非常丰富的插件和启动器生态系统。

hapi:
用于构建应用程序和服务的富框架,使开发者能够专注于编写可重用的应用程序逻辑,而不是花时间搭建基础设施。
koa:由 Express 背后的同一个团队构建,旨在更简单、更小,建立在多年知识的基础上。新项目的诞生是为了在不破坏现有社区的情况下创建不兼容的更改。

Loopback.io:
使构建需要复杂集成的现代应用程序变得容易。
Meteor:非常强大的全栈框架,为您提供同构的方法来使用 JavaScript 构建应用程序,在客户端和服务器上共享代码。曾经是提供所有功能的现成工具,现在可以与前端库 React、Vue 和 Angular 集成。也可用于创建移动应用程序。

Micro:
提供了非常轻量级的服务器来创建异步的 HTTP 微服务。

NestJS:
基于 TypeScript 的渐进式 Node.js 框架,用于构建企业级的高效、可靠和可扩展的服务器端应用程序。

Next.js:
React 框架,为您提供最佳的开发者体验,包括生产所需的所有功能:混合静态和服务器渲染、TypeScript 支持、智能捆绑、路由预取等。
Nx:使用 NestJS、Express、React、Angular 等进行全栈大仓开发的工具包!Nx 有助于将您的开发从构建单个应用程序的团队扩展到多个团队协作开发多个应用程序!

Remix:
Remix 是一个全栈 Web 框架,用于为 web 构建出色的用户体验。它开箱即用,提供构建现代 web 应用程序所需的一切(包括前端和后端)并将其部署到任何基于 JavaScript 的运行时环境(包括 Node.js)。

Sapper:
Sapper 是用于构建各种规模的 Web 应用程序的框架,具有优美的开发体验和灵活的基于文件系统的路由。提供 SSR 等等!

Socket.io:
构建网络应用的实时通信引擎。

Strapi:
Strapi 是灵活开源的 Headless CMS,让开发者可以自由选择他们喜欢的工具和框架,同时还允许编辑人员轻松管理和分发他们的内容。通过插件系统使管理面板和 API 可扩展,Strapi 使世界上最大的公司能够在构建精美的数字体验的同时加速内容交付。

Node.js和浏览器

浏览器和 Node.js 都使用 JavaScript 作为其编程语言。构建在浏览器中运行的应用程序与构建 Node.js 应用程序完全不同。尽管它始终是 JavaScript,但有一些关键的差异使体验完全不同。

从广泛使用 JavaScript 的前端开发人员的角度来看,Node.js 应用程序带来了巨大的优势:使用一种语言编写所有东西(前端和后端)的舒适性。

你有一个巨大的机会,因为我们知道完全、深入地学习一门编程语言是多么困难,并且通过使用同一种语言在 web 上执行你的所有工作,无论是在客户端还是在服务器上,你都处于独特的优势地位。

在浏览器中,您所做的大部分时间都是与 DOM 或其他 Web 平台 API(如 Cookies)进行交互。 这些当然在 Node.js 中不存在。 您没有浏览器提供的 document、window 和所有其他对象。在浏览器中,我们没有 Node.js 通过其模块提供的所有友好的 API,比如文件系统访问功能。

另一个很大的不同是在 Node.js 中你可以控制环境。 除非您正在构建一个任何人都可以在任何地方部署的开源应用程序,否则您知道将在哪个版本的 Node.js 上运行该应用程序。 与浏览器环境(您无法奢侈地选择访问者将使用哪种浏览器)相比,这非常方便。

这意味着您可以编写您的 Node.js 版本支持的所有现代的 ES6-7-8-9 JavaScript。

由于 JavaScript 的发展速度如此之快,但浏览器的升级速度可能会有点慢,有时在 web 上你会被旧的 JavaScript / ECMAScript 版本所困扰。你可以在将代码发布到浏览器之前使用 Babel 将代码转换为 ES5 兼容,但在 Node.js 中,你不需要它。

另一个不同之处是 Node.js 使用 CommonJS 模块系统,而在浏览器中我们开始看到正在实施的 ES Modules 标准。在实践中,这意味着你暂时在 Node.js 中使用 require(),在浏览器中使用 import。

总结

本篇文章全部都是理论内容,主要就是让大家对Node.js有一定的了解,以及发展史,虽然我们的Node.js还很年轻,但是他也已经有了很高的地位,让我们尽情的畅游在Node.js的专栏中吧,希望通过此专栏我们能够系统的将Node.js学好,它将会成为我们的一大亮点,我们可以用这款前端中的后端语言让提升我们的价值与眼界,如今的他也已经成为面试官口中的高并发面试内容了,一起加油!我们下篇见文章来源地址https://www.toymoban.com/news/detail-654932.html

到了这里,关于45天带你玩转Node(第一天)初探Node.js的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 带你玩转三子棋—【C语言】

    目录 前言: 1. 菜单的打印 2. game函数的实现 2.1 初始化棋盘 2.2 显示棋盘 2.3 玩家下棋 2.4 电脑下棋 2.5 判断输赢 2.6 判断棋盘是否满了 3. 全部代码 3.1 game.h 3.2  game.c 3.3 test.c 为了实现三子棋,首先我们应该将代码分模块编写,我们分为3个部分 1. test.c —测试游戏(主函数)2

    2024年02月04日
    浏览(47)
  • 带你玩转单向链表(学习必备)

    本篇文章主要介绍数据结构中 单向链表 各种操作,适合有 C语言基础 的同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧! ☀️大家好!我是新人博主朦胧的雨梦,希望大家多多关照和支持😝😝😝 🌖大家一起努力,共同成长,相信我们都会

    2024年02月02日
    浏览(49)
  • 一文带你玩转C语言文件操作

    作者主页:  paper jie的博客_CSDN博客 本文作者: 大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于 《系统解析C语言》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将算法基础知识一网打尽,希望可以帮到读者们哦

    2024年02月17日
    浏览(61)
  • Python | 带你玩转Python的各种文件操作

    本篇文章主要介绍Python的各种文件操作,适合刚入门的小白或者对于文件操作基础不太牢固的同学,文中描述和代码示例很详细,看完即可掌握,感兴趣的小伙伴快来一起学习吧。 ☀️大家好!我是新人小白博主朦胧的雨梦,希望大家多多关照和支持😝😝😝 🌖大家一起努

    2023年04月11日
    浏览(72)
  • 【Linux】32条指令带你玩转 Linux !

    目录 1,whoami 2,who 3,pwd 4,ls 1,ls  2,ls -l 3,ls -a 4,ls -al 5,ls -d  6,ls -ld 5,clear 6,cd 1,cd  2,cd . 3,cd .. 4,cd /home/litao/linux/  绝对路径 5,cd ../day02/   相对路径 6,cd ~ 7,cd - 7,tree 8,touch 9,mkdir 1,mkdir 2,mkdir -p 10,rmdir rm 1,rmdir 2,rm 3,rm -f 4,rm -r 5,rm -rf 6,

    2024年02月08日
    浏览(56)
  • 【C语言】带你玩转库函数qsort

    君兮_的个人主页 勤时当勉励 岁月不待人 C/C++ 游戏开发 Hello,米娜桑们,这里是君兮_,之前更新的一直是比较基础和简单的内容,随着博主自己的水平的提升,今天给大家带来点不一样的东西,我们今天要讲的是库函数qsort的用法 废话不多说,咱们直接开始吧! 很多人可能是

    2024年02月16日
    浏览(40)
  • 内网穿透技术 - 带你玩转Ngrok和NATAPP

    使用内网穿透技术,我们出差或者在家,就可以直接访问到公司的电脑或者内网网站,实现远程办公。也可以将我们自己在局域网内搭建的网站暴露出去,让所有人都可以直接访问到。 本文章主要介绍下内网穿透工具Ngrok和NATAPP。 Ngrok 开源,老牌穿透工具 NATAPP 免费隧道,提

    2024年02月15日
    浏览(37)
  • 带你玩转 Vite + Vue3 高低版本常用玩法

    Vite 是一种新型前端构建工具,在我们保险前端项目中已经推动并应用很久了,Vite 能够显著降低构建时间,提升前端开发效率。 它主要由两部分组成: 一个开发服务器,它基于 原生 ES 模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR) 一套构建指令,它使

    2024年02月05日
    浏览(61)
  • 带你玩转 3D 检测和分割 (三):有趣的可视化

    小伙伴们好呀,3D 检测和分割系列文章继续更新啦,在第一篇文章中我们带领大家了解了整个框架的大致流程,第二篇文章我们给大家解析了 MMDetection3D 中的坐标系和核心组件 Box,今天我们将带大家看看 3D 场景中的可视化组件 Visualizer,如何在多个模态数据上轻松可视化并且

    2023年04月21日
    浏览(52)
  • 带你玩转 ui 框架 ——scoped及样式穿透问题详解

    前言 在我们前端的开发中经常会使用到各种 ui 框架 下面这两个是比较火的,也是我常用的两个ui框架。 问题描述 但是在使用框架的时候难免会遇到需要改变组件中的一些样式,当然如果我们所有页面的组件样式都是统一的话,我们可以进行全局设置样式,但是如果我们仅仅

    2023年04月21日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包