欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node.js 核心http模塊,起一個(gè)服務(wù)器,返回一個(gè)頁(yè)面的實(shí)例

 更新時(shí)間:2017年09月11日 08:37:31   作者:八bug哥哥  
下面小編就為大家?guī)?lái)一篇node.js 核心http模塊,起一個(gè)服務(wù)器,返回一個(gè)頁(yè)面的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

如下所示:

let http=require("http"); //引入核心http模塊
let fs=require("fs");
let mime={
 '.js':'application/javascript',
 '.css':'text/css'
}
//創(chuàng)建一個(gè)函數(shù),req代表客戶端,res代表服務(wù)器可寫(xiě)流
let listener=(req,res)=>{
//res是可寫(xiě)流,有write和end

 if(req.url==="/"){
  //設(shè)置編碼
  res.setHeader('Content-Type','text/html;charset=utf-8');
  fs.createReadStream('index.html').pipe(res);
 }else{
  if(fs.existsSync(`.${req.url}`)) {
   res.setHeader('Content-Type',mime[req.url.match(/\.\w+$/)[0]] +';charset=utf-8');
   fs.createReadStream(`.${req.url}`).pipe(res);
  }else{
   res.statusCode=404;
    res.end();
  }
 }

}
let port=8080;
//創(chuàng)建一個(gè)服務(wù),放入一個(gè)監(jiān)聽(tīng)函數(shù),
let server=http.createServer(listener);
//
server.listen(port,function () {
 //啟動(dòng)成功后
 console.log(`start${port}`);
})

看上面代碼,我們需要先創(chuàng)建三個(gè)文件

index.html

index.css

index.js

html文件里面,我們要引進(jìn)css和js文件

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <!--服務(wù)端引用路徑不支持相對(duì)路徑-->
 <link rel="stylesheet" href="index.css" rel="external nofollow" >
 <script src="index.js"></script>
</head>
<body>
<div>你好,帥嗎</div>
</body>
</html>

我們運(yùn)行上面js文件時(shí)候,就會(huì)創(chuàng)建一個(gè)靜態(tài)服務(wù)器,端口8080

然后返回客戶端一個(gè)index.html文件

瀏覽器渲染這個(gè)html文件,我們對(duì)應(yīng)的css和js就加載進(jìn)去了

其實(shí)上面寫(xiě)法不是很簡(jiǎn)便,node里面有模塊解決路徑獲取后綴名的問(wèn)題,還有路徑問(wèn)題

let http=require("http"); //引入核心http模塊
let fs=require("fs");
let mime=require("mime"); //解決文件類(lèi)型
let url=require("url");
//創(chuàng)建一個(gè)函數(shù),req代表客戶端,res代表服務(wù)器可寫(xiě)流
let listener=(req,res)=>{
//res是可寫(xiě)流,有write和end
 let {query,pathname}=url.parse(req.url,true);
 if(pathname==="/"){
  //設(shè)置編碼
  res.setHeader('Content-Type','text/html;charset=utf-8');
  fs.createReadStream('index.html').pipe(res);
 }else{
  if(fs.existsSync(`.${pathname}`)) {
   //mime 第三方包 npm install mime --save
   //mime.lookup可以通過(guò)文件路徑后綴判斷是什么類(lèi)型的
   res.setHeader('Content-Type', mime.lookup(pathname)+';charset=utf-8');
   fs.createReadStream(`.${pathname}`).pipe(res);
  }else{
   res.statusCode=404;
   res.end();
  }
 }

}
let port=8080;
//創(chuàng)建一個(gè)服務(wù),放入一個(gè)監(jiān)聽(tīng)函數(shù),
let server=http.createServer(listener);
//
server.listen(port,function () {
 //啟動(dòng)成功后
 console.log(`start${port}`);
})

以上這篇node.js 核心http模塊,起一個(gè)服務(wù)器,返回一個(gè)頁(yè)面的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node.js服務(wù)器開(kāi)啟Gzip壓縮教程

    Node.js服務(wù)器開(kāi)啟Gzip壓縮教程

    開(kāi)啟網(wǎng)站的 gzip 壓縮功能,通??梢愿哌_(dá)70%,也就是說(shuō),如果你的網(wǎng)頁(yè)有30K,壓縮之后就變成9K, 對(duì)于大部分網(wǎng)站,顯然可以明顯提高瀏覽速度(注:需要瀏覽器支持)。
    2017-08-08
  • Node.js使用SQLite數(shù)據(jù)庫(kù)方法大全

    Node.js使用SQLite數(shù)據(jù)庫(kù)方法大全

    Node.js是一種流行的JavaScript運(yùn)行時(shí),提供了許多有用的模塊和庫(kù)來(lái)構(gòu)建Web應(yīng)用程序,而SQLite是一種嵌入式關(guān)系型數(shù)據(jù)庫(kù),它可以運(yùn)行在各種操作系統(tǒng)上,包括Windows、Linux和Mac OS X等,在Node.js中,可以通過(guò)安裝sqlite3模塊來(lái)訪問(wèn)SQLite數(shù)據(jù)庫(kù)
    2023-10-10
  • node.js中的fs.lstat方法使用說(shuō)明

    node.js中的fs.lstat方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.lstat方法使用說(shuō)明,本文介紹了fs.lstat的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Nodejs中讀取中文文件編碼問(wèn)題、發(fā)送郵件和定時(shí)任務(wù)實(shí)例

    Nodejs中讀取中文文件編碼問(wèn)題、發(fā)送郵件和定時(shí)任務(wù)實(shí)例

    這篇文章主要介紹了Nodejs中讀取中文文件編碼問(wèn)題、發(fā)送郵件和定時(shí)任務(wù)實(shí)例,本文使用了3個(gè)模塊來(lái)解決這3個(gè)需求,并給出了代碼操作實(shí)例,需要的朋友可以參考下
    2015-01-01
  • 淺談Koa2框架利用CORS完成跨域ajax請(qǐng)求

    淺談Koa2框架利用CORS完成跨域ajax請(qǐng)求

    這篇文章主要介紹了淺談Koa2框架利用CORS完成跨域ajax請(qǐng)求,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 使用nodeJS中的fs模塊對(duì)文件及目錄進(jìn)行讀寫(xiě),刪除,追加,等操作詳解

    使用nodeJS中的fs模塊對(duì)文件及目錄進(jìn)行讀寫(xiě),刪除,追加,等操作詳解

    nodeJS中fs模塊對(duì)系統(tǒng)文件及目錄進(jìn)行讀寫(xiě)操作,本文將詳細(xì)介紹nodejs中的文件操作模塊fs的使用方法
    2020-02-02
  • nodejs使用readline逐行讀取和寫(xiě)入文件的實(shí)現(xiàn)

    nodejs使用readline逐行讀取和寫(xiě)入文件的實(shí)現(xiàn)

    這篇文章給大家介紹了nodejs使用readline逐行讀取和寫(xiě)入文件的實(shí)現(xiàn)方法,文中通過(guò)代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • 如何刪除node_modules重新安裝的方法步驟

    如何刪除node_modules重新安裝的方法步驟

    我們?cè)陂_(kāi)發(fā)項(xiàng)目的時(shí)候,每次安裝的 node 包會(huì)出現(xiàn)版本和項(xiàng)目所需要的版本不一致的問(wèn)題,那么如何刪除node_modules重新安裝,本文就詳細(xì)的介紹一下
    2021-09-09
  • 在koa中簡(jiǎn)單使用Websocket連接的方法示例

    在koa中簡(jiǎn)單使用Websocket連接的方法示例

    本文主要介紹了在koa中簡(jiǎn)單使用Websocket連接的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • node.js中的http.response.writeHead方法使用說(shuō)明

    node.js中的http.response.writeHead方法使用說(shuō)明

    這篇文章主要介紹了node.js中的http.response.writeHead方法使用說(shuō)明,本文介紹了http.response.writeHead的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12

最新評(píng)論