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報文只是因為沒有後台的指令碼語言處理,所以...