设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

Node.js开发手册(一)

2013-5-17 11:38| 发布者: 红黑魂| 查看: 2539| 评论: 0|原作者: chszs|来自: CSDN

摘要: 一、Node.js简介  Node.js由于其简洁性而受到广泛关注。与PHP或ASP不同,后者在Web服务器和代码间没有间隔,也不需要自定义大量的配置文件。使用Node.js,我们可以创建服务器,自定义它,在代码层交付所有的内容。 ...
一、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,内容如下:
[javascript] view plaincopyprint?
  1. // server.js  
  2. var http = require('http');  
  3. http.createServer(function(req, res){  
  4.     res.writeHead(200, {'Content-Type''text/html'});  
  5.     res.end('Woohoo!');  
  6. }).listen(8080);  

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

$ supervisor server.js

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

四、修改代码


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

[javascript] view plaincopyprint?
  1. // server.js  
  2. var http = require('http');  
  3. var path = require('path');  
  4.   
  5. var pages = [  
  6.     {route: '', output:'Woohoo!'},  
  7.     {route: 'about', output:'A simple routing with Node example'},  
  8.     {route: 'another page', output: function(){return 'Here\'s ' + this.route;}},  
  9. ];  
  10.   
  11. http.createServer(function(req, res){  
  12.     var lookup = path.basename(decodeURI(req.url));  
  13.     pages.forEach(function(page){  
  14.         if(page.route===lookup){  
  15.             res.writeHead(200, {'Content-Type''text/html'});  
  16.             res.end(typeof page.output === 'function' ? page.output() : page.output);  
  17.         }  
  18.     });  
  19.     if(!res.finished){  
  20.         res.writeHead(404);  
  21.         res.end('Page Not Found!');  
  22.     }  
  23. }).listen(8080);  

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

会提示:Page Not Found!


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

会提示:A simple routing with Node example


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

酷毙
1

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部