Node.js介绍和环境配置(含NVM、NPM、YARN的安装)

Node.js的介绍

什么是 Node.js(官方解释)

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 代码运行环境。 Node.js使用了一个事件驱动非阻塞式I/O的模型( Node.js的特性),使其轻量级又高效。 Node.js 的包管理器 npm 是全球最大的开源库生态系统。

Node.js介绍和环境配置(含NVM、NPM、YARN的安装)_第1张图片

如上图所示:

  • Node 内部采用 Google Chrome 的 V8 引擎,作为 JavaScript 语言解释器;
  • 通过自行开发的 libuv 库,调用操作系统资源。

什么是 Node.js(非官方解释)

Node.js是 JavaScript 语言在服务器端的运行环境(平台)。Node.js 不是一门语言,也不是 JavaScript 的框架。

  • 与PHP、JSP、Python、Perl、Ruby的“既是语言,也是平台”不同,Node.js的使用JavaScript进行编程,运行在 Chrome 的 V8 引擎上。
  • 与PHP、JSP等相比(PHP、JSP、.net都需要运行在服务器程序上,Apache、Naginx、Tomcat、IIS。
    ),Node.js跳过了Apache、Naginx、IIS等HTTP服务器,它自己不用建设在任何服务器软件之上。Node.js的许多设计理念与经典架构(LAMP = Linux + Apache + MySQL + PHP)有着很大的不同,可以提供强大的伸缩能力。Node.js没有web容器。

运行环境(平台)的含义

  • 首先,JavaScript 语言通过 Node 在服务器上运行,在这个意义上,Node 有点像 JavaScript 虚拟机。
  • 其次,Node 生态系统活跃,提供了大量的开源库,使得 JavaScript 语言能与操作系统进行交互(比如读写文件、新建子进程),在这个层次上,Node 又是属于 JavaScript 的工具库。

为什么要学习服务器端开发

  • 能够和后台开发的程序员更佳紧密地结合、更顺畅地沟通。
  • 当网站的业务逻辑需要前置时,前端人员需要学习一些后台开发的技术,以完成相应的任务。
  • 拓宽知识视野和技术栈,能够站在全局的角度审视整个项目。

为什么选择 Node.js 做后台开发

  • 使用 JavaScript 语言 开发服务器端应用。
  • 一些公司要求前端工程师掌握 Node.js 开发。
  • Node.js 生态系统活跃,提供了大量的开源库。

Node.js的发展

Node 的历史

  • 2008年左右,随着 Ajax 的逐渐普及,Web 开发逐渐走向复杂化,系统化;
  • 2009年2月,Ryan Dahl 想要创建一个轻量级,适应现代 Web 开发的平台;
  • 2009年5月,Ryan Dahl 在 GitHub 中开源了最初版本,同年11月,JSConf 就安排了 Node 讲座;
  • 2010年底,Joyent 公司资助,Ryan Dahl 也加入了该公司,专门负责 Node 的开发;
  • 2011年7月,在微软的支持下登陆 Windows 平台。PS:node 的生产环境基本是在 Linux 下。

据 Node.js 创始人 Ryan Dahl 回忆,他最初希望采用 Ruby,但是 Ruby 的虚拟机效率不行。

注意:是 Node 选择了 JavaScript,不是 JavaScript 发展出来了一个 Node。

Node.js的主要应用领域

  • RESTFul API
  • 实时通信:如消息推送等
  • 高并发
  • I/O阻塞

知名度较高的Node.js开源项目

Node.js介绍和环境配置(含NVM、NPM、YARN的安装)_第2张图片

  • express:Node.js中著名的web服务器框架。
  • Koa:下一代的 Node.js 的 Web 框架。
  • mocha:功能强大的 node.js 测试框架。
  • PM2:node 本来是单进程的,PM2可以实现和管理多进程。
  • jade:非常优秀的模板引擎,不仅限于 js 语言。
  • CoffeeScript:用简洁的方式展示 JavaScript 优秀的部分。
  • Atom:文本编辑器。
  • socket.io:实时通信框架。

Node.js的特点

  • 单线程

Node.js 运行环境配置:通过 Node.js 安装包(不推荐)

去 Node.js 的官网下载安装包:

你可能感兴趣的:(工具,node,npm,yarn)