第 1 章 Node.js 介绍
本章内容包括:
- 什么是 Node.js 框架,为什么要用 Node.js 框架,使用 Node.js 框架能够解决什么问题,在哪些场合下应该考虑使用 Node.js 框架。
- 如何下载 Node.js 框架
- 什么是 Node.js 中的模块,Node.js v0.10 版中内置了哪些模块以及这些模块的作用。
- 如何开发一个了简单的 Node.js 示例应用程序,以及如何运行这个示例应用程序。
1.1 Node.js 概述
1.1.1 使用 Node.js 能够解决什么问题
使用 Node.js ,可以同时处理多达几万个用户的客户端连接。当需要使Web应用程序能够支持大量用户的并发连接的时候,我们应该考虑使用 Node.js。
1.1.2 实现高性能服务器
严格地说,Node.js 是一个用于开发各种Web服务器的开发工具。在 Node.js 服务器中,运行的是高性能 V8JavaScript 脚本语言。
1.1.3 非阻塞开支 I/O 及事件环机制
为了实现高性能,Node.js 中采用了以下两种机制:
- 非阻塞型 I/O
- 事件环
在 Node.js 中,在一个时刻只能执行一个事件回调函数,但是在执行一个事件回调函数中途可以转而执行其他事件(包括触发新的事件、声明该事件的回调函数等),然后返回继续执行原事件回调函数,这种机制称为事件环机制。
Node.js 适合开发的应用程序
当应用程序需要处理大量并发的输入/输出,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,我们应该考虑使用 Node.js 来进行该应用程序的开发。例如,我们可以开发如下应用程序:
- 聊天服务器
- 综合服务类网站或电子商务网站的服务器
1.2 安装 Node.js
1.3 Node.js 中的模块
在 Node.js 中是通过以模块为单位来划分所有功能的。每一个模块为一个JS文件。每一个模块中定义的全局变量或函数的作用范围也被限定在这个模块之内,只有使用 exports 对象才能将其传递到外部。代码如下所示:
exports.printFoo = function() { return "foo"; }
将上面这个具有 printFoo 函数的模块文件保存为 foo.js 文件。
在引用模块时,我们需要使用 require 函数。例如,可以通过 以下代码来访问模块中的 printFoo 函数:
var foo = require('./foo.js');
console.log(foo.printFoo());
Node.js 中的核心模块:
在 Node.js 中,可以直接使用 require 函数并将模块名设置为 require 函数的参数值的方法来引用核心模块。例如,可以使用如下代码来引用http模块:
var http = require('http');
Node.js 中追加的类、函数与对象:
1.4 一个简单的示例应用程序
var http = require('http'); //引用http模块
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<head><meta charset="utf-8"/></head>');
res.end('你好\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
第 1 章 Node.js 介绍的更多相关文章
- node.js介绍和npm的使用
Node.js介绍 打开Nodejs英文网:https://nodejs.org/en/ 中文网:http://nodejs.cn/ 我们会发现这样一句话: 翻译成中文如下: Node.js 是一个基 ...
- Node.js 介绍及安装
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了No ...
- Node.js介绍、优势、用途
一.Node.js介绍Node.js是一个javascript运行环境.它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP.Java.Python..NET.R ...
- Node.js 介绍
章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...
- NodeJs>------->>第一章:Node.js介绍
一:章节前言 二:Node.js概述 1:使用node.js能够解决什么问题 2:实现高性能服务器 3:非阻塞型I/O及事件环形机制 4:node.js适合开发的程序 三:node.js安装 一.No ...
- node.js介绍
官网说明: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...
- 第 2 章 Node.js 中的交互式运行环境 —— REPL
本章内容包括: 如何使用REPL运行环境以及如何在该运行环境中测试各种JavaScript表达式. 如何定义并启动REPL运行环境. Node.js 框架中为REPL运行环境提供了哪些命令以及这些命令 ...
- node.js介绍及Win7环境安装测试(转)
官网描述: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...
- Node.js权威指南 (1) - Node.js介绍
1.1 Node.js概述 / 2 1.1.1 使用Node.js能够解决什么问题 / 2 1.1.2 实现高性能服务器 / 2 1.1.3 非阻塞型I/O及事件环机制 / 2 1.1.4 Node. ...
随机推荐
- 全局scope与Isolate scope通信
AngularJS 全局scope与Isolate scope通信 在项目开发时,全局scope 和 directive本地scope使用范围不够清晰,全局scope与directive本地scope ...
- c# 委托详解
1.委托声明 2.委托入门实例 namespace ConsoleApplication1 { public delegate void methodDelegate(string str); cla ...
- OCP-1Z0-051-题目解析-第12题
12. You need to produce a report where each customer's credit limit has been incremented by $1000. I ...
- AngularJs ng-repeat
AngularJs ng-repeat 必须注意的性能问题 AngularJs 的 ng-repeat 让我们非常方便的遍历数组生成 Dom 元素,但是使用不当也会有性能问题. 在项目中我们使用 ng ...
- touch命令功能
touch命令功能 touch fileA,如果fileA存在,使用touch命令可更改这个文件或目录的日期时间,包括存取时间和更改时间:如果fileA不存在,touch命令会在当前目录下新建一个 ...
- hibernate配置jndi
tomcat里的conf->context.xml <Resource name="mysql" auth="Container" type ...
- asp.net MVC2.0学习笔记
asp.net;与mvc都是不可替代的:只是多一种选择:(解决了许多asp.net的许多缺点) model:充血模型.领域模型:很大程度的封装: 控制器:处理用户的交互,处理业务逻辑的调用,指定具体的 ...
- Date与SimpleDateFormat
Date常用的方法 返回类型 方法名称 备注 Date New Date() 创建当前日期对象 Date New date(long dt) 使用自1970.1.1以后的指定毫秒数创建日期 boole ...
- 云优化的概念、Entity Framework 7.0、简单吞吐量压力测试
云优化的概念.Entity Framework 7.0.简单吞吐量压力测试 继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之 ...
- 支付宝集成时的InvalidKeySpecException
近来在集成第三方支付---支付宝,在集成的过程中严格按照支付宝开发者平台所发布的说明文档和Demo,在我的测试机上可以完美的运行,但是在别人的手机无论怎么就是调用不起来,总是弹出"remot ...