php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端
這次給大家帶來如何使用nodejs 服務器讀取HTML文件渲染至前端,使用nodejs 服務器讀取HTML文件渲染至前端的注意事項有哪些,下面就是實戰案例,一起來看一下。
1.分別簡單實現三個備用頁面。
代碼片段:
.center {
margin: auto;
width: 60%;
border: 3px solid #73AD21;
padding: 10px;
}
元素居中對齊
水平居中塊級元素 (如 p), 可以使用 margin: auto;
注意: 使用 margin:auto 無法兼容 IE8, 除非 !DOCTYPE 已經聲明。
notFount.html頁面
.center {
margin: auto;
width: 60%;
border: 3px solid #73AD21;
padding: 10px;
color:red;
}
404 Not Fount
2.修改創建的nodejs 服務器頁面,對不同地址的請求做出不同的響應頁面。
在url地址判斷中添加,文件讀取代碼,以實現讀取定義的html頁面。
聲明文件系統對象:// 聲明文件操作系統對象
var fs = require('fs');
實現文件內容讀取并渲染到頁面if(url ==='/'){
//response.writeHead(響應狀態碼,響應頭對象): 發送一個響應頭給請求。
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 服務器與客戶端交互,需要 require('http')。
聲明http協議
*/
var http = require('http');
// 聲明文件操作系統對象
var fs = require('fs');
/**
2.獲取服務器對象
1.通過 http.createServer([requestListener]) 創建一個服務
requestListener
返回:
返回一個新建的 http.Server 實例。
對于服務端來說,主要做三件事:
1.接受客戶端發出的請求。
2.處理客戶端發來的請求。
3.向客戶端發送響應。
*/
var server = http.createServer();
/**
3.聲明端口號,開啟服務。
server.listen([port][, host][, backlog][, callback])
port :端口號
host :主機ip
backlog server.listen() 函數的通用參數
callback server.listen() 函數的通用參數
Returns:
啟動一個TCP服務監聽輸入的port和host。
如果port省略或是0,系統會隨意分配一個在'listening'事件觸發后能被server.address().port檢索的無用端口。
如果host省略,如果IPv6可用,服務器將會接收基于unspecified IPv6 address (::)的連接,否則接收基于unspecified IPv4 address (0.0.0.0)的連接
*/
server.listen(9001, function(){
console.log('服務器正在端口號:9001上運行......');
})
/**
4.給server 實例對象添加request請求事件,該請求事件是所有請求的入口。
任何請求都會觸發改事件,然后執行事件對應的處理函數。
server.on('request',function(){
console.log('收到客戶端發出的請求.......');
});
*/
/**
5.設置請求處理函數。
請求回調處理函數需要接收兩個參數。
request :request是一個請求對象,可以拿到當前瀏覽器請求的一些信息。
eg:請求路徑,請求方法等
response: response是一個響應對象,可以用來給請求發送響應。
*/
server.on('request',function(request,response){
var url = request.url;
if(url ==='/'){
//response.writeHead(響應狀態碼,響應頭對象): 發送一個響應頭給請求。
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);
});
}
});
最終實現效果:
開啟nodejs服務器,在地址欄中輸入: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/其他內容
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
總結
以上是生活随笔為你收集整理的php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原神海螺屋雷神瞳怎么拿?
- 下一篇: php怎么看数据化,3.2.11 查看和