Node.js开发手册(一)
作者:chszs,转载需注明。博客主页: http://blog.youkuaiyun.com/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.jsvar 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.jsvar 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
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow