亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

通過nodejs 服務(wù)器讀取HTML文件渲染到頁面的方法

 更新時間:2018年05月17日 14:28:50   作者:笨笨熊咦  
今天小編就為大家分享一篇通過nodejs 服務(wù)器讀取HTML文件渲染到頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1.分別簡單實現(xiàn)三個備用頁面。

login.html頁面

index.html頁面

代碼片段:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鳥教程(runoob.com)</title> 
<style>
.center {
  margin: auto;
  width: 60%;
  border: 3px solid #73AD21;
  padding: 10px;
}
</style>
</head>
<body>

<h2>元素居中對齊</h2>
<p>水平居中塊級元素 (如 div), 可以使用 margin: auto;</p>

<div class="center">
 <p><b>注意: </b>使用 margin:auto 無法兼容 IE8, 除非 !DOCTYPE 已經(jīng)聲明。</p>
</div>

</body>
</html>

notFount.html頁面

<!DOCTYPE HTML>
<html>
<head>
<script>

</script>
<style>
.center {
  margin: auto;
  width: 60%;
  border: 3px solid #73AD21;
  padding: 10px;
	color:red;
}
</style>
</head>
<body>

<div class ="center" >404 Not Fount</div>

</body>
</html>

2.修改創(chuàng)建的nodejs 服務(wù)器頁面,對不同地址的請求做出不同的響應(yīng)頁面。

在url地址判斷中添加,文件讀取代碼,以實現(xiàn)讀取定義的html頁面。

聲明文件系統(tǒng)對象:

// 聲明文件操作系統(tǒng)對象 
  var fs = require('fs'); 

實現(xiàn)文件內(nèi)容讀取并渲染到頁面

if(url ==='/'){ 
  //response.writeHead(響應(yīng)狀態(tài)碼,響應(yīng)頭對象): 發(fā)送一個響應(yīng)頭給請求。 
  response.writeHead(200,{'Content-Type':'text/html'}) 
  // 如果url=‘/' ,讀取指定文件下的html文件,渲染到頁面。 
  fs.readFile('./practice/login.html','utf-8',function(err,data){ 
  if(err){ 
  throw err ; 
  } 
  response.end(data); 
  }); 
} 

完整代碼:

	/**
		
	1.使用 HTTP 服務(wù)器與客戶端交互,需要 require('http')。
		聲明http協(xié)議
	*/
	var http = require('http');
	
	
	// 聲明文件操作系統(tǒng)對象
	var fs = require('fs');
	/**
	2.獲取服務(wù)器對象
		1.通過 http.createServer([requestListener]) 創(chuàng)建一個服務(wù)

		requestListener <Function>
		返回: <http.Server>
		返回一個新建的 http.Server 實例。
		對于服務(wù)端來說,主要做三件事:
		1.接受客戶端發(fā)出的請求。
		2.處理客戶端發(fā)來的請求。
		3.向客戶端發(fā)送響應(yīng)。
	*/
	
	var server = http.createServer();

	/**
	3.聲明端口號,開啟服務(wù)。
		server.listen([port][, host][, backlog][, callback])

		port <number> :端口號
		host <string> :主機ip
		backlog <number> server.listen() 函數(shù)的通用參數(shù)
		callback <Function> server.listen() 函數(shù)的通用參數(shù)
		Returns: <net.Server>
		啟動一個TCP服務(wù)監(jiān)聽輸入的port和host。

		如果port省略或是0,系統(tǒng)會隨意分配一個在'listening'事件觸發(fā)后能被server.address().port檢索的無用端口。

		如果host省略,如果IPv6可用,服務(wù)器將會接收基于unspecified IPv6 address (::)的連接,否則接收基于unspecified IPv4 address (0.0.0.0)的連接
	
	*/
	server.listen(9001, function(){
		 console.log('服務(wù)器正在端口號:9001上運行......');
	})
	
	
	/**
	4.給server 實例對象添加request請求事件,該請求事件是所有請求的入口。
		任何請求都會觸發(fā)改事件,然后執(zhí)行事件對應(yīng)的處理函數(shù)。
	
		server.on('request',function(){
			 console.log('收到客戶端發(fā)出的請求.......');
		});
	*/

	
	/**
	5.設(shè)置請求處理函數(shù)。
		請求回調(diào)處理函數(shù)需要接收兩個參數(shù)。
		request :request是一個請求對象,可以拿到當前瀏覽器請求的一些信息。
			eg:請求路徑,請求方法等
		response: response是一個響應(yīng)對象,可以用來給請求發(fā)送響應(yīng)。
	
	*/
	server.on('request',function(request,response){
		
		var url = request.url;
		if(url ==='/'){
			//response.writeHead(響應(yīng)狀態(tài)碼,響應(yīng)頭對象): 發(fā)送一個響應(yīng)頭給請求。
			response.writeHead(200,{'Content-Type':'text/html'})
			// 如果url=‘/' ,讀取指定文件下的html文件,渲染到頁面。
			fs.readFile('./practice/login.html','utf-8',function(err,data){
				if(err){
					throw err ;
				}
				response.end(data);
			});
		
		}else if(url === '/login'){
			response.writeHead(200,{'Content-Type':'text/html'});
			// 如果url=‘/' ,讀取指定文件下的html文件,渲染到頁面。
			fs.readFile('./practice/login.html','utf-8',function(err,data){
				if(err){
					throw err ;
				}
				response.end(data);
			});
		}else if(url === '/index'){
			response.writeHead(200,{'Content-Type':'text/html'});
			// 如果url=‘/' ,讀取指定文件下的html文件,渲染到頁面。
			fs.readFile('./practice/index.html','utf-8',function(err,data){
				if(err){
					throw err ;
				}
				response.end(data);
			});
		}else{
			response.writeHead(200,{'Content-Type':'text/html'});
			// 如果url=‘/' ,讀取指定文件下的html文件,渲染到頁面。
			fs.readFile('./practice/notFount.html','utf-8',function(err,data){
				if(err){
					throw err ;
				}
				response.end(data);
			});
		}
		
	});
	
	

最終實現(xiàn)效果:

開啟nodejs服務(wù)器,在地址欄中輸入:127.0.0.0.1:9001或127.0.0.0.1:9001/login

在地址欄中輸入:127.0.0.0.1:9001/index

在地址欄中輸入:127.0.0.0.1:9001/其他內(nèi)容

以上這篇通過nodejs 服務(wù)器讀取HTML文件渲染到頁面的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodeJS進程管理器pm2的使用

    nodeJS進程管理器pm2的使用

    這篇文章主要介紹了nodeJS進程管理器pm2的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • node解析修改nginx配置文件操作實例分析

    node解析修改nginx配置文件操作實例分析

    這篇文章主要介紹了node解析修改nginx配置文件操作,結(jié)合實例形式分析了node.js使用nginx-conf解析修改nginx配置文件的相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • nodejs+express最簡易的連接數(shù)據(jù)庫的方法

    nodejs+express最簡易的連接數(shù)據(jù)庫的方法

    這篇文章主要介紹了nodejs+express 最簡易的連接數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • NodeJS中的命令行程序、工程目錄、NPM

    NodeJS中的命令行程序、工程目錄、NPM

    使用NodeJS編寫的東西,要么是一個包,要么是一個命令行程序,而前者最終也會用于開發(fā)后者,一般我們會同時提供命令行模式和API模式兩種使用方式,并且我們會借助三方包來編寫代碼,NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題
    2023-11-11
  • nodejs多版本管理總結(jié)

    nodejs多版本管理總結(jié)

    這篇文章主要介紹了nodejs多版本管理的相關(guān)知識點,以及實際操作方法和代碼,有需要的朋友參考下。
    2018-04-04
  • Node.js定時任務(wù)之node-schedule使用詳解

    Node.js定時任務(wù)之node-schedule使用詳解

    這篇文章主要介紹了Node.js定時任務(wù)之node-schedule使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Linux通過yum命令徹底刪除node.js并重新安裝

    Linux通過yum命令徹底刪除node.js并重新安裝

    這篇文章主要介紹了Linux通過yum命令徹底刪除node.js并重新安裝,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • node.js中的fs.readSync方法使用說明

    node.js中的fs.readSync方法使用說明

    這篇文章主要介紹了node.js中的fs.readSync方法使用說明,本文介紹了fs.readSync方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • NodeJs使用webpack打包項目的方法詳解

    NodeJs使用webpack打包項目的方法詳解

    這篇文章主要為大家詳細介紹了NodeJs使用webpack打包項目的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 詳解Nodejs之靜態(tài)資源處理

    詳解Nodejs之靜態(tài)資源處理

    這篇文章主要介紹了詳解Nodejs之靜態(tài)資源處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論