4 乙個類似apache的伺服器

2021-10-08 03:12:56 字數 3400 閱讀 3435

2.現在我們想要一傳送請求就自動返回乙個索引頁面

思路是,收到請求後,我們返回乙個模板的html頁面。

但這個頁面的資料要經過修改。

先讀取目錄下的檔名,然後生成標籤,組成乙個大的字串。

然後將字串替代模板頁面中的標記^_^。

再將修改過的頁面返回。

裡面犯得錯誤有,data修改過後,卻沒有重新賦值給data

// 1. 如何得到 wwwdir 目錄列表中的檔名和目錄名

// fs.readdir

// 2. 如何將得到的檔名和目錄名替換到 template.html 中

// 2.1 在 template.html 中需要替換的位置預留乙個特殊的標記(就像以前使用模板引擎的標記一樣)

// 2.2 根據 files 生成需要的 html 內容

// 只要你做了這兩件事兒,那這個問題就解決了

fs.readdir(wwwdir, function (err, files)

// 2.1 生成需要替換的內容

var content = ''

//對檔案進行遍歷,生成標籤

files.foreach(function (item) )

// 2.3 替換

data = data.tostring();

data = data.replace('^_^', content)

// 3. 傳送解析替換過後的響應資料

res.end(data)

})})

})server.listen('2333', function () )

3.模板引擎art-template

安裝:進入安裝目錄,開啟終端,輸入:

npm install art-template
4.在瀏覽器中使用art-template 

{}}    } 語法被稱之為 mustache 語法,八字鬍啊。

-->

實現了資料介面分離,用上面的模板,加上下面的資料,輸出:

5.在node中使用art-template,要匯入包,render方法可以用資料渲染模板

模板儲存在tpl.html中,讀入之後是二進位制,要轉化為字串。

// art-template

// art-template 不僅可以在瀏覽器使用,也可以在 node 中使用

// 安裝:

// npm install art-template

// node_modules 不要改,也不支援改。

// 在 node 中使用 art-template 模板引擎

// 模板引起最早就是誕生於伺服器領域,後來才發展到了前端。

// // 1. 安裝 npm install art-template

// 2. 在需要使用的檔案模組中載入 art-template

// 只需要使用 require 方法載入就可以了:require('art-template')

// 也就是說你 isntall 的名字是什麼,則你 require 中的就是什麼

// 3. 查文件,使用模板引擎的 api

var template = require('art-template')

var fs = require('fs')

fs.readfile('./tpl.html', function (err, data)

// 預設讀取到的 data 是二進位制資料

// 而模板引擎的 render 方法需要接收的是字串

// 所以我們在這裡需要把 data 二進位制資料轉為 字串 才可以給模板引擎使用

data = data.tostring();

var ret = template.render(data, )

console.log(ret)

})

模板

我今年 } 歲了

我喜歡:} } }

結果

6.下面嘗試對2的檔案顯示進行修改,我們不要js**出現大片字串。

利用模板引擎的方法

//讀取檔名

fs.readdir(wwwdir, function (err, files)

var htmlstr = template.render(data.tostring(), )

res.end(htmlstr)

})})

})server.listen('2333', function () )

模板關鍵位置,讀取files,然後進行遍歷處理。

}

2017/11/2 上午10:32:47

編了乙個伺服器

伺服器 include 包含socket 2版本的標頭檔案 include include pragma comment lib,ws2 32.lib 呼叫網路動態庫!int tmain int argc,tchar argv word sockversion 0x0002 定義版本號 sockve...

乙個簡單的Squid伺服器

本文參考http blog.s135.com book squid chap07.html a13,基本上是一步步照做 一 伺服器主機 centos5.3 159.226.3.209 區域網環境 網路設定 172.16.2.24 閘道器 172.16.2.254 說明 由於區域網所用閘道器已另行設定...

乙個簡單的Http伺服器

計算機網路的課程設計 使用基本的socket編寫的,採用多執行緒處理訪問 寫了 一下午,本來想把php鏈進來,結果之後就不想碰了 環境是 vs2010 主要是兩個類 httpserver 用來建立監聽response 用來響應請求能夠處理get 和 post報文只是因為沒有後台的指令碼語言處理,所以...