美文网首页
Node学习笔记1——初识NodeJs

Node学习笔记1——初识NodeJs

作者: accord | 来源:发表于2016-12-13 12:21 被阅读0次

什么是NodeJs

Node.js是一个基于ChromeV8引擎的Javascript运行环境。Node.js使用了一个事件驱动、非阻塞式IO的模型,使其轻量又高效。Node.js的包管理器npm,是全球最大的开源库生态系统。简单来说Node是js的一个虚拟机(平台),能够解析js代码,使其运行在各个平台,这有点类似java的jvm。同时Node平台内部提供了大量的工具库,使js能与操作系统进行交互,例如读写文件。

NodeJs的诞生历程

2009年3月,Ryan Dahl在博客宣布创建

2009年5月,Ryan Dahl在GitHub中开源了最初版本,同年11月的JSConf就安排了Node讲座

2010年底,Ryan Dahl加入Joyent全职负责Node的发展

2011年7月,在微软的支持下登陆Windows平台

2012年1月底,Ryan Dahl将掌门人身份交给NPM的作者lssac Z.Schlueter

2013年7月,发布稳定版v0.10.13

随后,Node的发布计划主要集中在性能上面,由V0.14后正式发布了V1.0版本

Nodejs的特点

异步I/O

单线程

事件与回调函数

跨平台

NodeJs结构

从上面这张图来看,NodeJS的结构分为3层:

Node standard Libarary(Node.js标准库),源码在lib目录下,是一个用javascript编写的库,里面包含了http,fs,events,buffer等Nodejs提供的核心模块,

javascript能够通过Api直接去调用这些模块,例如:let fs = require('fs')。

第二层的Node bindings是js与底层沟通的一座桥梁,使其能与底层相互沟通,bindings是一个又c++实现,源码在src/node.cc。

最后一层是node的最底层结构

V8: Google开源的高性能JavaScript引擎,以C++实现。这也是集成在Chrome中的JS引擎V8将你写的JavaScript

代码编译为机器码然后执行。

Libuv: 是一个用c语言实现的库,它为Nodejs提供的跨平台的操作,在其内部提供了事件循环(Event Loop),线程池,异步I/O等功能。

C-ares:提供了异步处理DNS相关的能力。

http_parser、OpenSSL、zlib 等:提供包括http解析、SSL安全协议、数据压缩等其他的能力。

NodeJs在web中的使用

这张图是把Node作为一个服务器来处理所有用户的接受和响应

这张图是把Node作为一个中间服务器来用,主要是进行分发等工作,具体步骤是Node来接受客户端传来的信息,然后把事件交托给传统java等服务器来处理,处理完后返回给node服务器,然后响应给客户端

相关文章

  • Node学习笔记1——初识NodeJs

    什么是NodeJs Node.js是一个基于ChromeV8引擎的Javascript运行环境。Node.js使用...

  • 初识Nodejs

    初识Nodejs NodeJs官网 什么是Nodejs Node.js® is a JavaScript runt...

  • 回调,同步异步

    nodejs学习笔记 标签:node 异步 回调 单线程 1. callback 最简单的回调 注意回调的理解:...

  • 第一节 初识node

    一.认识Node 1.什么是Node Node的名称 Nodejs,NodeJS,Node.js等.本课程遵循官方...

  • Nodejs学习

    学习基础:Node.js Express TypeScript Mongodb; 1.Nodejs start...

  • node.js入门笔记(1)

    观看老马nodejs系列视频教程笔记 1.概述 1.1 node是什么 Node.js 是一个基于Chrome V...

  • linux操作系统CentOS下使用yum安装nodejs(np

    以下内容是引用或者借鉴别人的,自己只是做个笔记,方便学习,如有侵权,实属抱歉 一、安装nodejs 1.将node...

  • node-express

    1、安装node node官网:https://nodejs.org/zh-cn/[https://nodejs....

  • Node.js从零搭建

    主要是学习了Node.js从零开发Web Server博客,而将学习内容做个总结。 1.nodejs介绍 node...

  • 2018-01-03

    学习顺序以及资源 node 入门 《nodejs入门》 如何系统地学习Node.js?

网友评论

      本文标题:Node学习笔记1——初识NodeJs

      本文链接:https://www.haomeiwen.com/subject/dyavmttx.html