Node:几个小例子
首先,你应当意识到Node是用于运行独立的JavaScript程序的,而不是运行于浏览器中的某个HTML片段里。它是存放在文件系统中的真实存在的文件,由Node程序执行,以一种守护进程的模式运行,同时打开对某些端口的监听。
跳过 hello world
最经典的例子当然是“Hello World“,在Node官网(http://nodejs.org/docs/latest )上有源码。几乎每个人都是从Hello World开始接触Node的。现在让我们跳过这个最简单的例子,来看一些更有趣的例子:实现一个可以从服务器发送文件到客户端的程序(而不仅仅是发送一段文本到客户端)。
var sys = require("sys"), http = require("http"), url = require("url"), path = require("path"), fs = require("fs"); http.createServer(function(request, response) { var uri = url.parse(request.url).pathname; var filename = path.join(process.cwd(), uri); path.exists(filename, function(exists) { if(!exists) { response.writeHead(404, {"Content-Type": "text/plain"}); response.end("404 Not Found\n"); return; } fs.readFile(filename, "binary", function(err, file) { if(err) { response.writeHead(500, {"Content-Type": "text/plain"}); response.end(err + "\n"); return; } response.writeHead(200); response.end(file, "binary"); }); }); }).listen(8080); console.log("Server running at http://localhost:8080/");
感谢Mike Amundsen,他给出了这段代码的相似的实现。这个例子是由Devon Govett在Nettuts+上提交的一段代码,尽管已经根据新版本的Node作了更新,但Devon的整个帖子是一个非常好的入门学习教材,对于初学者来说更是如此。
如果你是一个新手,你可以将上述代码保存到一个文本文件中,命名为NodeFileServer.js。在运行之前你需要一个Node运行环境,最新的Node版本可以从官网下载这个文件或者从github上将源码取下来。你需要编译源码,如果你没有用过Unix、对make和configure不甚熟悉,则需要查阅在线编译手册来寻求帮助。
出处:Taobao.com UED Team
责任编辑:bluehearts
上一页 什么是Node? [2] 下一页 什么是Node? [4]
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|