您好,欢迎访问一九零五行业门户网

nodejs创建web服务器之hello world程序_javascript技巧

node.js 最主要的应用是服务器序。
设计node.js 的一个主要目的是提供高度可扩展的服务器环境。这是我们在本章开篇介绍过的node 和v8 引擎有所区别的地方。node 除了用v8 引擎来解析javascript 外,还提供了高度优化的应用库,用来提高服务器效率。比如说,http模块是专为快速非阻塞式http 服务器而用c 重新编写的。让我们看一下node 采用http 服务器的“hello world”经典例子
复制代码 代码如下:
var http=require('http');//引入核心http模块
/*创建服务器*/
var server=http.createserver(function(req,res){ res.writehead(200,{content-type:'text/html'}); res.end('hello world');});
/*监听ip以及端口*/
server.listen(8124,'127.0.0.1',function(){ console.log('服务器创建成成功:127.0.0.1:8124');});
运行代码如下所示
zxd@zxd-pc /k/work/learn/nodejs/cvs01$ node app
服务器创建成成功:127.0.0.1:8124
这个示例代码首先通过require 方法把http 库包含到程序中来。有许多语言都有包含其他库这一方法,node 用的是commonjs 模块风格。
当前需要了解的是,http 库所具有的功能已经赋给了http 对象。
下一步,我们需要一个http 服务器。php 等其他语言需要在类似apache 这样的服务器中运行,而node 和它们不同,因为node 本身就是web 服务器。
但这同样意味着我们需要先创建该服务器。下一行代码调用http 模块的一个工厂模式方法
(createserver)来创建新的http 服务器。新创建的http 服务器并没有赋值给任何变量,它只会成为存活在全局范围内的匿名对象。
我们可以通过链式调用来初始化服务器,并告诉它监听在8124 端口。当调用createserver 的时候,我们传了一个匿名函数作为参数。此函数绑定在新创建服务器的事件监听器上进行request 事件处理。消息事件是javascript 和node 的核心。在这个例子中,每当一个新的访问请求到达web 服务器,它都将调用我们指定的函数方法来处理。我们称这类方法为回调(callback)。因为每当一个事件发生时,我们将回调监听此事件的所有函数。
示例二:
由于跑到另一个城市,手头没电脑,dom framework不能如期发布,趁此学习一些新东西。这时期最迫切的需要是寻求一个超轻量的后端来架起我的框架,于是触爪伸向传说中的server-side javascrpt。后端js最出名无疑是ryan dahl的node.js,另一个是aptana ide提供商搞出的jaxer。
首先下载node.js,然后解压到e盘,改名为node,然后开始菜单输入cmd,用cd命令切换到nodejs的解压目录:
第一个例子:hello world。
在node目录下建立hello.js文件,然后在里面输入:
var sys = require(sys); sys.puts(hello world);
然后我们在命名台中输入命令node hello.js,就能看到命名台输出结果hello world。
第二个例子:hello world2。
好了,这次我们试从游览器中输出hello world。在node目录下建立http.js,然后输入:
var sys = require(sys), http = require(http); http.createserver(function(request, response) { response.sendheader(200, {content-type: text/html}); response.write(hello world!); response.close(); }).listen(8080); sys.puts(server running at http://localhost:8080/);
然后我们在命名台中输入命令node http.js,在浏览器输入http://localhost:8080/
第三个例子:hello world2。
node.js提供一个buffer类用于转换不同编码的字符串。
目前支持三种类型:'ascii','utf8'与'binary'。详见这里
var buffer = require('buffer').buffer, buf = new buffer(256), len = buf.write('\u00bd + \u00bc = \u00be', 0); console.log(len + bytes: + buf.tostring('utf8', 0, len));
第四个例子:hello world3。
//synopsis.js //synopsis 摘要, 梗概,大纲 var http = require('http'); http.createserver(function (request, response) { response.writehead(200, {'content-type': 'text/plain'}); response.end('hello world\n'); }).listen(8124); console.log('server running at http://127.0.0.1:8124/');
其它类似信息

推荐信息