Node.js知识点整理之----简介

1、Node.js首要目标是提供一种简单的、用于创建高性能服务器及可在该服务器中运行的各种应用程序的开发工具。

2、Node.js修改了客户端到服务器端的连接方法,解决了 服务器所支持的最大同时连接用户量瓶颈的问题。因为它并不为每个客户端创建一个新的线程,而是为每个客户端连接触发一个在Node.js内部进行处理的事件。因此,如果使用Node.js,可以同时处理多达几万个用户的客户端连接。

3、在Node.js服务器中,运行的是高性能的V8 JavaScript脚本语言,该语言是一种被V8 JavaScript引擎所解析并执行的脚本语言。该引擎并不局限于在浏览器中运行,Node.js将其转用在了服务器中。

4、为了实现高性能,Node.js采用了两种机制:

  • 非阻塞型/O机制:JavaScript只支持单线程。在处理一个事务过程中,存在一段等待时间,在这段时间里,它可以立即处理事务后面的代码,提高程序的执行效率
  • 事件环机制:在Node.js中,一个时刻只能执行一个事件回调函数,但是在执行一个事件回调函数的中途可以转而处理其他事件,然后返回继续执行原事件回调函数

5、当应用程序需要处理大量并发的输入/输出,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,我们应该考虑使用Node.js来进行该应用程序的开发。

6、在Node.js中是通过以模块为单位来划分所有功能,每一个模块为一个JS文件,每个模式中定义的全局变量或函数的作用范围也被限定在这个模块之中,只有使用exports对象才能将其传递到外部。在引用模块时,需要使用require函数。

//输出
exports.print = function(){...}

//导入
var foo = require(‘./for.js‘)
console.log(foo.print()

7、Node.js中的核心模块:

  • assert:单元测试 添加的断言处理
  • buffer:实现二进制数据的存储与转换
  • child_process:实现子进程的创建与管理
  • cluster:实现多进程
  • console:为控制台输出信息
  • crypto:实现数据的加密解密处理
  • debugger:实现一个内置调试器来帮助开发者调式应用程序
  • dns:实现与DNS相关的处理
  • domain:实现多个I/O之间的协作处理
  • events:为事件处理提供一个基础类
  • fs:操作文件及文件系统
  • http:实现HTTP服务器端及客户端
  • https:实现HTTPS服务器端及客户端
  • net:创建TCP服务器与客户端
  • os:获取操作系统信息
  • path:处理文件路径
  • punycode:实现Punycode字符串的编码及解码
  • querystring:处理HTTP请求中使用的查询字符串
  • readline:读取一行标准输入流
  • repl:实现REPL交互式运行环境
  • stream:为流的输入/输出处理提供一个基础类
  • string_decoder:实现从二进制数据到字符串数据之间的转换
  • tls:使用OpenSSL来实现TLS/SSL通信处理
  • tty:获取来自于TTY终端的信息
  • url:实现URL字符串的解析与格式化
  • util:实现各种实用函数
  • vm:为JavaScript脚本代码提供一个独立的运行环境
  • zlib:实现数据的压缩及解压处理

可以直接使用require函数,并使用模块名做为参数,来引用这些模块:

var http = require(‘http‘);

8、Node.js中追加的类、函数、对象

可以在不引用任何模块的情况下直接使用这些类、函数、对象。

  • Buffer类:为二进制数据的存储提供一个缓存区
  • setTimeout函数:在指定时间到达时执行一个指定的函数
  • clearTimeout函数:取消指定函数的执行
  • setInterval函数:指定每隔多少时间执行一个指定的函数
  • clearInterval函数:取消指定函数的执行
  • require函数:加载模块
  • module对象:访问模块信息
  • process对象:访问进程信息

原文地址:https://www.cnblogs.com/adhehe/p/9688542.html

时间: 2024-08-03 14:49:19

Node.js知识点整理之----简介的相关文章

Node.js知识点整理之----REPL

交互式运行环境.在命令窗口中,输入"node"命令并回车,即可进入REPL运行环境. 基础命令: .break 返回到命令提示符的起点处 按下Ctrl+C组合键,可以替代.break命令 两次Ctrl+C退出REPL运行环境 .clear 清除REPL运行环境的上下文对象中保存的所有变量和函数 返回到命令提示符的起点处 .exit 退出REPL运行环境 按下Ctrl+D组合键,可以代替.exit命令 .help 显示REPL运行环境中所有的基础命令 .save 保存 在REPL运行环境

Node.js知识点整理之----基础知识----事件处理机制及事件环机制

在event模块中,定义了EventEmitter类,所有触发事件的对象都是继承了这个类的子类的实例对象. addListener(event,listener) 对指定事件绑定事件处理函数 on(event,listener) 对指定事件绑定事件处理函数(addListener方法的别名) var http = require('http'); var server = http.createServer(); server.on('request',function(req,res){ co

Node.js【4】简介、安装和配置、快速入门

笔记来自<Node.js开发指南>BYVoid编著 第1章 Node.js简介 Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为脚本语言世界的一等公民,在服务端堪与PHP.Python.Perl.Ruby平起平坐. Node.js可以作为服务器向用户提供服务,与PHP.Python.RubyonRails相比,它跳过了Apache.Nginx等HTTP服务器,直接面向前端开发. Node.js还可以调用C/C++的代码,这样可以充分利用已有的诸多函

Node.js知识点学习

Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成 类.最后node.js的出现才开始有了js模块化开发的概念,这使得臃肿的js代码免去了命名冲突等一系列开发难题. Node最大的特点就是采用了异步式I/O与事件驱动的架构设

Node.js知识点详解(一)基础部分

转自:http://segmentfault.com/a/1190000000728401 模块 Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象.接下来我们就来创建hello.js文件,代码如下: exports.world = function() { console.log('Hello World'); } 在以上示例中,hello.js 通过 e

Node.js知识点

因为javascript引擎的关系,node.js默认是单线程,一个node.js应用无法利用多核资源.不过有第三方库提供多线程支持,但不是无缝的.node.js是解决I/O瓶颈的(相对于传统技术,同步阻塞调用浪费线程),它并没有提高I/O速度,只是资源调度更高效.如果I/O速度不解决,node.js只能说能同时处理好多request,但每个request的响应时间还是那么长,甚至更长. Node.js 采用事件驱动和异步 I/O 的方式,实现了一个单线程.高并发的 JavaScript 运行时

纯干货 | Node.js快速入门指南与实践

前言 Node.js知识点虽然不多,但是想要通篇的看完并快速上手还是需要一些时间的.而这篇文章主要总结工作中Node.js一些常用模块API的用法以及优秀的第三方模块,帮助你快速的上手.Good Luck?????? 惯例 Node.js是基于Chrome V8引擎的Javascript运行环境. console - 控制台 1.控制台打印信息 console.log('日志信息'); console.warn('警告信息'); console.debug('调试信息'); console.er

Node.js的知识点框架整理

背景:因为appium是基于Node.js的,所以想看一下Node.js.但是发现很多资料的顺序看起来有点颠倒.然后就一面看资料一面整理了一下大概的知识点框架,希望对自己对别人有用. 本文不包含node.js的基本语法.node.js的基本语法和JavaScript基本一样,可以以后再单独整理一份基本语法的. Node.js是一个基于chrome V8的JavaScript运行时的环境 Node.js是事件驱动,非阻塞式I/O模型 Node.js使用npm包管理器 使用Node.js不仅实现了一

一个月时间整理《深入浅出Node.js》

今天终于把朴灵老师写的<深入浅出Node.js>给学习完了, 这本书不是一本简单的Node入门书籍,它没有停留在Node介绍或者框架.库的使用层面上,而是从不同的视角来揭示Node自己内在的特点和结构.建议 有一定Node基础或者做过Node方面的小项目的同学阅读,看完以后你的思维会有很奇特的碰撞,我看的时候就常常会有这样的想法:“哦,原来这个功能是 这样实现的哦”.下面这篇文章是我第二次阅读<深入浅出Node.js>的一些学习记录,并且通过百度脑图这个工具来画出思维导图,每天将自