`
ldb19890624
  • 浏览: 243436 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Node.js开发手册(一)

 
阅读更多

Node.js开发手册(一)

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

一、Node.js简介

Node.js由于其简洁性而受到广泛关注。与PHP或ASP不同,后者在Web服务器和代码间没有间隔,也不需要自定义大量的配置文件。使用Node.js,我们可以创建服务器,自定义它,在代码层交付所有的内容。

二、构建路由器

为了交付Web内容,我们需要使URI有效。为了使得开发效率更高,这里我向大家推荐两款工具,它可以帮助Node.js程序在改动后自动部署生效,简化了开发。工具如下:

1. Hotnode

Hotnode是一个包,可以让代码在修改保存后实现自动重载。其特征有两点:
一是当文件发生改变后,自动重载Node.js代码。
二是会检测当前目录及其子目录。

2. Supervisor

node-supervisor也是一个包,它可以运行Node.js程序,观察代码的变动情况,自动重新热部署,无需担心内存泄漏以及中间模块引用的清除等。

Hotnode和Supervisor两者的功能差不多,不过Hotnode先于Supervisor差不多一年发布。
两者的安装都很简单,以supervisor为例,安装如下:

$ sudo npm install supervisor -g

三、测试

编写一个Node.js程序,名为server.js,内容如下:
// server.js
var http = require('http');
http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Woohoo!');
}).listen(8080);

用supervisor执行此程序,命令为:

$ supervisor server.js

用浏览器访问地址:http://localhost:8080/
会显示Woohoo!

四、修改代码

我们可以使用path模块提取路径的基本名字,用decodeURI在客户端解码任何URI编码。内容如下:

// server.js
var http = require('http');
var path = require('path');

var pages = [
    {route: '', output:'Woohoo!'},
    {route: 'about', output:'A simple routing with Node example'},
    {route: 'another page', output: function(){return 'Here\'s ' + this.route;}},
];

http.createServer(function(req, res){
    var lookup = path.basename(decodeURI(req.url));
    pages.forEach(function(page){
        if(page.route===lookup){
            res.writeHead(200, {'Content-Type': 'text/html'});
            res.end(typeof page.output === 'function' ? page.output() : page.output);
        }
    });
    if(!res.finished){
        res.writeHead(404);
        res.end('Page Not Found!');
    }
}).listen(8080);

在终端上可以看到,代码是实时被supervisor热部署了的。
在浏览器访问http://localhost:8080/aboutasd

会提示:Page Not Found!


在浏览器访问http://localhost:8080/about

会提示:A simple routing with Node example


分享到:
评论

相关推荐

    node.js最新手册

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"Node.js最新手册"很可能包含了关于Node.js的最新API、模块系统、事件驱动模型以及异步I/O等内容。 在...

    Node.js 中文手册 中文文档 chm

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,专为构建网络应用而设计。它允许开发者在服务器端使用 JavaScript,打破了传统的客户端脚本语言限制,极大地提升了开发效率。`Node.js 中文手册`是针对这...

    Node.js 中文手册

    **Node.js 中文手册** Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,由 Ryan Dahl 在2009年...《Node.js 中文手册》将帮助你深入了解并掌握这个强大的工具,让你在开发高性能网络应用的道路上更进一步。

    Node.js技术参考手册

    由于JavaScript与前端交互性强,Node.js将这一特性带入了后端,实现了前后端开发语言的一致性,简化了全栈开发流程。 **2. 概念** - **事件驱动**:Node.js的核心是事件循环,它使用回调函数处理非阻塞I/O操作,...

    Node.js入门手册

    Node.js入门手册是一本针对希望学习如何使用Node.js来开发服务器端应用的读者的教程。本书不仅仅介绍基础的Node.js使用方法,更深层次地讲解了JavaScript的高级知识,尤其是那些在其他编程语言中不常见到的...

    node.js比较全的开发资料

    1. 《Node.js开发指南》--清华的一个大四学生写的书,很适合入门 2. 《Node+Web开发》人民邮电出版社 David Herron 著,雅虎架构师解读,其中开发指南参考该书很多东西 3. 《NODE.js入门手册》里面关于非阻塞路由...

    node.js入门手册

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"node.js入门手册"很可能包含了以下一系列关键知识点: 1. **基础概念**:Node.js的基础概念包括事件...

    Node.js 中文手册.chm

    中文手册.chm 文件包含了对 Node.js 的详尽解释,是学习和参考 Node.js API 及其用法的重要资源。 Node.js 的核心特性包括: 1. **单线程与事件循环**:Node.js 使用一个单线程模型来处理请求,通过事件循环机制来...

    NODE.JS入门手册.zip

    《NODE.JS入门手册.exe》这个文件可能是手册的电子版,通过阅读和实践手册中的案例,你将能够逐步建立起对Node.js的理解,并具备使用Node.js进行Web前端开发的能力。记住,高质量的代码不仅关乎语法和结构,还包括...

    Node.js资料包,5本电子书籍

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,打破了JavaScript只能在浏览器中运行的传统。这个资料包包含了五本关于Node.js的电子书籍,涵盖了从基础到进阶...

    Node.js v0.6.11用户手册CHM版

    《Node.js v0.6.11用户手册CHM版》是针对Node.js这一流行的JavaScript后端开发框架的官方文档,被整理成便于查阅的CHM(Microsoft Compiled HTML Help)格式。这个版本对应的是v0.6.11,虽然现在已经有了更先进的...

    NODE.js入门手册

    Node.js是一个开放源代码、跨平台的JavaScript运行环境,它让开发者能够在服务器端执行JavaScript代码。自2009年由Ryan Dahl发布以来,Node.js以其高效、非阻塞I/O模型以及模块化设计,迅速在Web开发领域占据了重要...

    Node.js参考手册chm(中文).zip

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"Node.js参考手册chm(中文).zip"包含了详细的中文文档,旨在帮助开发者全面理解和掌握Node.js的核心概念...

    Node.js参考手册

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript编写可伸缩的网络应用。Node.js利用非阻塞I/O和事件驱动模型,使其在处理高并发请求时表现优秀,特别适合构建实时、...

    Node.js API 0.8.18离线手册

    Node.js是一款基于Chrome V8引擎的JavaScript运行环境,它使得开发者能够在服务器端使用JavaScript进行高效能的网络应用开发。0.8系列是Node.js历史上的一个重要版本,尽管现在已经更新到更稳定的版本,但对于学习...

    nodejs使用手册

    Node.js使用手册是针对JavaScript后端开发框架Node.js的一份详尽参考资料,旨在帮助开发者深入理解和熟练运用Node.js进行Web应用开发。Node.js基于Chrome V8引擎,它提供了丰富的库和API,使得开发者可以高效地编写...

    node.js参考手册

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。本参考手册旨在全面介绍 Node.js 的核心概念、模块系统、网络编程、文件...

Global site tag (gtag.js) - Google Analytics