国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

nodejs創建web服務器之hello world程序

2019-11-20 11:46:30
字體:
來源:轉載
供稿:網友

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/'); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无棣县| 志丹县| 敖汉旗| 宝兴县| 噶尔县| 光山县| 靖江市| 广水市| 汝州市| 静宁县| 兴业县| 榆中县| 湛江市| 象山县| 南郑县| 福鼎市| 奇台县| 定安县| 巫溪县| 砚山县| 米脂县| 洛阳市| 呼和浩特市| 河北省| 通许县| 洛川县| 来安县| 松阳县| 洱源县| 丽水市| 宁津县| 安图县| 贞丰县| 报价| 兴文县| 祥云县| 额敏县| 东乡| 枞阳县| 枝江市| 乐亭县|