码迷,mamicode.com
首页 > Web开发 > 详细

第一节:Node.js简介

时间:2017-08-29 23:00:25      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:文件路径   exports   nts   对象   输出   了解   创建   传递   开发工具   

第一节:Node.js简介

1.什么是Node.js?

  Node.js是一个用于开发各种Web服务器的开发工具,仔Node.js服务器中,运行的高性能V8 JavaScript脚本语言,该语言是一种可以运行仔服务器端的JavaScript脚本语言。它为了提高性能,采用了以下两种机制:非阻塞型I/O和事件环,由于采用了非阻塞型I/O,所以在执行了访问数据库的代码后将立即转而执行其后的代码,把数据库返回结果的处理代码放在回掉函数中执行,从而提高了程序的执行效率,在Node.js中,在一个时刻只能执行一个事件回掉函数,但是在执行一个事件回掉函数的中途可以转而处理其他事件(包括新事件的触发、声明、回掉),然后返回继续执行原事件回掉函数,这种处理机制称为事件环机制。

2.为什么需要Node.js?

  在Java、PHP、ASP.NET等服务器端语言中,为每一个客户端连接创建一个新的线程,每个线程需要消耗大约2MB的内存,例如8GB内存的服务器可以同时连接的最大用户数为4000个左右,如果要让web程序支持更多的用户,就需要增加服务器的数量,那么硬件成本也会随之增加,不仅如此,在技术上也会潜在一些问题。所以在一个web应用程序中,一个主要的瓶颈是服务器所支持的最大同时连接用户量。而Node.js正好解决了这个问题,它修改了客户端到服务器的连接方式,它并不是为每个客户端连接创建一个新的线程,而是为每个客户端连接触发一个Node.js内部进行处理的事件。

  所以说当应用程序需要处理大量并发的输入/输出,而在向客户端发出响应之前,应用程序内部并不需要星星非常复杂的处理的时候,可以选择Node.js,比如,聊天服务器、综合服务类网站或电子商务网站的服务器等一些在同一时刻接收到多达上千条数据并且需要存入数据库中,Node.js通过队列机制将这些数据迅速书写在缓存区中。

3.怎样使用Node.js?这是我们接下来要用一段时间来研究的问题

  Node.js官网地址为http://nodejs.org,下载Nodejs。

接下来我们来了解下Node.js中的模块:

  学过前端的同学都知道在客户端可以将所有的JavaScript代码分割为几个JS文件,然后在浏览器中将这些JS文件合并运行。但是在javaScript中是通过模块为单位来划分所有功能的。每一个模块为一个JS文件,每一个模块中定义的全局变量或函数的作用范围都会被限定仔这个模块中,只有使用exports对象才能将其传递到外部。如:exports.printHi=function(){return "hi"}     那怎么在另一个js文件中访问呢?   可以参考以下代码: var hi=require(‘./Hi.js‘);    //加载Hi.js模块       

                                                                          console.log(hi.printHi());  //访问Hi.js模块内的函数printHi

常用的核心模块有:assert  为应用程序的单元测试添加断言处理

         buffer   用于实现二进制数据的存储与转换

         debugger  用于实现一个内置调试器来帮助开发者调试应用程序

         dns 用于现实与DNS相关的处理

         events 用于为时间处理提供的一个基础类

         fs 用于操作文件及文件系统

         http 用于实现HTTP服务器及客户端

         https 用于实现HTTPS服务器及客户端

         net 创建TCP服务器和客户端

         os 获取操作系统信息

         path 处理文件路径

         querystring 处理HTTP请求中使用的查询字符串

         util 实现各种实用函数

         zlib 内部使用zlib类库来实现数据的压缩及解压处理

         url  实现URL字符串的解析与格式化

         string_decoder 用于实现从二进制数据到字符串数据之间的转换

在Node.js中可以直接使用require函数并将模块名设置为require函数的参数值的方法来引用这些模块,例如:var http=require(‘http‘);

 

第一节:Node.js简介

标签:文件路径   exports   nts   对象   输出   了解   创建   传递   开发工具   

原文地址:http://www.cnblogs.com/Sailsail/p/7450568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!