简介
Node的目标是提供一个简单的构建网络程序的方法。在下面的"helloworld"例子中,很多客户端连接可以被并行地处理。Node告诉操作系统(通过epoll, kqueue, /dev/poll,或select)在新连接创建时通知它,然后它进入睡眠状态。如果有新的连接,它就会执行回调函数。每个连接仅仅是一个很小的堆申请。
Node的处理模型和现在常用的使用操作系统线程的并发模型不同。基于线程的网络相对效率低并且难以使用。与传统线程模型对每个新连接都要申请2M的线程堆栈相比,Node在高负载下表现出更好的内存效率。而且,Node用户不必关心进程死锁,因为Node里根本没有锁的概念。Node几乎没有直接执行IO操作的函数,进程也就永不阻塞,因为没有阻塞,即使不是专家也能编写快速的系统。
Node在设计上受Ruby的EventMachine和Python的Twisted影响并且和它们有些像。Node更注重事件模型,它将事件循环作为语言结构而不是类库。在其它的系统中,一般会有一个阻塞的调用来开始事件循环,在脚本的开始使用回调函数定义一个行为,然后在最后通过调用阻塞的调用(例如EventMachine::run())来启动服务。Node没有这样的启动事件循环的函数调用,它执行完输入脚本后自动进入事件循环,这有点像浏览器的JavaScript,事件循环对用户隐藏了。
windows下安装使用
1.安装
在http://node-js.prcn.co.cc/ 下载最新的“complete”包,解压到任意文件夹,例如:c:/node,该部分为使用二进制包方式(较为简单),可直接使用,手动安装方式请参考:
http://blog.csdn.net/sdhustyh/article/details/6583250
2.示例脚本准备
编写以下脚本:
var http =require('http');
http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type':'text/plain'});
res.end('Hello World\n');
}).listen(1337,"127.0.0.1");
console.log('Serverrunning at http://127.0.0.1:1337/');
保存该内容至example.js放在c:/node/bin目录下
3.运行
使用命令行导航到c:/node/bin,使用以下命令启动服务
node example.js
可以看到如下提示:Serverrunning at http://127.0.0.1:1337/, 代表服务已启动。
4.访问http://127.0.0.1:1337/可看到“hello world”
总结
Node是一个服务器端JavaScript解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。
Node非常适合以下情况:您预计可能有很高的流量,而在响应客户端之前服务器端逻辑和处理所需不一定是巨大的
Node不适合在以下场合使用:1.动态创建的网页,2.关系型数据库频繁操作应用。
注:本文整理自node.js官方网站翻译以及一些专家的文章。
分享到:
相关推荐
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以帮助开发者快速构建可扩展的网络应用程序。下面是 Node.js 学习指南的知识点总结: 一、是否使用 Node.js 在选择是否使用 Node.js 之前,需要考虑...
Node.js 是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端执行JavaScript代码,极大地拓宽了JavaScript的应用领域。10.16.3-x64 版本是 Node.js 的一个稳定版本,适用于64位操作系统。下面将详细...
总结,这个“Node.js学习案例”提供了一个完整的微型博客应用程序的实例,涵盖了Node.js开发的关键技术和流程。通过这个案例,初学者不仅可以学习到Node.js的基础知识,还能体验到一个实际项目从无到有的过程,从而...
总结来说,"node.js时钟案例"是一个综合性的项目,涉及到Node.js服务器端编程、HTML和CSS的处理、JavaScript的执行以及前端交互设计。通过学习和实践这个案例,开发者可以加深对Node.js、前端技术和动态Web页面构建...
本学习笔记和经验总结将深入探讨Node.js的核心概念、主要特性、常用模块以及实战技巧,帮助你从零基础到熟练掌握Node.js。 一、Node.js核心概念 1. 非阻塞I/O模型:Node.js采用事件驱动、非阻塞I/O模型,提高了...
Node.js是一款基于Chrome V8引擎的JavaScript运行环境,它让JavaScript可以在服务器端执行,极大地拓宽了JavaScript的应用领域。而TensorFlow是谷歌开发的一款开源机器学习框架,它允许开发者构建、训练和部署各种...
Node.js学习笔记的知识点总结如下: 1. Node.js概念 - Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得JavaScript能够脱离浏览器环境在服务器端运行。 - 它使用了一个事件驱动、非阻塞I/O模型,使其...
《Node.js调试指南》是一份详细总结了Node.js开发中调试技巧和策略的资源,旨在帮助开发者深入理解Node.js的调试机制,并提供实践指导。 一、基础调试工具:内置的`console.log()` 在初识Node.js调试时,`console....
Node.js是一款基于Chrome V8引擎的JavaScript运行环境,它让JavaScript可以在服务器端执行,打破了JavaScript只能在浏览器中运行的传统。Node.js采用了事件驱动、非阻塞I/O模型,使其在高并发场景下表现出色,非常...
总结起来,这个项目是利用Node.js的高性能和LevelDB的高效数据存储能力构建的一个跨平台的出站邮件传输代理。它结合了两者的优势,为邮件传递提供了一个现代化、可扩展的解决方案。开发者可以通过源代码学习如何使用...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,大大简化了全栈开发的工作流程。在这个名为"Node.js-史上最“脑残”的“抢火车票”程序node.js版"的项目中,...
《Node.js Design Patterns Second Edition》(Node.js设计模式第二版)是一本深入探讨Node.js高级编程技术的书籍,它旨在帮助开发者充分利用Node.js的强大功能和最佳组件来构建高效、可扩展的应用程序。本书不仅...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个初学demo是为那些刚开始接触Node.js的人准备的,通过实例化操作,可以帮助理解Node.js的基本概念和工作...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者使用 JavaScript 进行服务器端编程。Node.js 使用了一个事件驱动、非阻塞 I/O 模型,使其轻量又高效,特别适合于数据密集型实时应用的开发,...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够使用 JavaScript 来进行服务器端编程。这个技术的出现极大地推动了Web应用的开发效率,特别是对于实时、高并发的网络应用来说,Node.js ...
Node.js是一个开源的服务器端JavaScript运行环境,它能够使开发者使用JavaScript编写服务器端应用程序。Node.js的核心优势在于它的非阻塞I/O模型和事件驱动架构,这使得Node.js特别适用于构建高性能、可扩展的网络...