溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Node.js怎么創建一個Express服務

發布時間:2021-03-10 17:01:36 來源:億速云 閱讀:221 作者:Leah 欄目:web開發

使用Node.js怎么創建一個Express服務?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、創建一個HttpServer服務端

在node.js官網下載好node的Windows版本后一路下一步安裝好了node,新建一個server.js文件,開始第一個node文件。首先在文件開頭需要使用require包含所需要的模塊,然后利用http.createServer創建一個server,并執行回調函數。在回調函數內對請求req進行處理,并返回res結果。

利用url的parse方法將req請求中的url轉換為json后,得到其中的請求文件名pathname。然后利用fs的readFile方法讀取文件,在回掉函數中進行錯誤判斷并設定文件頭的狀態碼以及"Content-Type",之后將文件寫入res返回。最后記得在createServer的回掉方法內結束res.end();

在文件最后調用server.listen();一直監聽localhost的3000端口。

啟動node服務,在文件夾內通過控制臺輸入:node server.js。打開瀏覽器的localhost:3000/index.html,通過server.js訪問index.html頁面內容。  

const http=require('http');
const url=require('url');
const fs=require('fs');
//1、創建server
let server=http.createServer((req,res)=>{
//2、獲取網頁請求的文件路徑
 let pathname=url.parse(req.url).pathname;
//3、利用fs讀取文件
 fs.readFile(pathname.substring(1),function (err,data) {
  if (err){             //有錯誤err,文件未找到,返回狀態404
   res.writeHead(404,{
    "Content-Type":"text/html"
   });
  }else{              //否則正常,設定返回狀態為200
   res.writeHead(200,{
    "Content-Type":"text/html"
   });   
   res.write(data.toString());  //將找到的文件寫入返回
  }
  res.end();           //在函數readFile()內關閉鏈接
 });
});
//4、讓server一直監聽localhost的3000端口的請求
server.listen(3000,'localhost');

2、Node請求數據

Node作為服務器有時候還需要請求其他服務器的數據,此時node就成了“客戶端”了,通過HTTP的get方法可以對指定的網址接口進行api調用、數據請求,例如:

const http=require('http');
//利用HTTP請求第三方接口服務
http.get('http://www.imooc.com/u/card',(res)=>{
 let data='';
 res.on('data',(temp)=>{        //檢測到數據,追加到data中
  data+=temp;
 });
 res.on('end',()=>{          //檢測到數據傳輸結束,控制臺輸出數據
  console.log(data);
 });
});

在get的回調函數中對res進行處理,如果有數據傳輸on('data'),則將temp追加到data,如果傳輸完成on('end'),則進行相關處理。

3、搭建Express框架

①、安裝Express

Node安裝之后自帶npm軟件包管理工具,通過npm命令可以獲取npm平臺上的插件、軟件,由于被墻,國內可以使用淘寶鏡像進行安裝,通過以下命令設置,就可以使用cnpm代替npm了。

npm install -g cnpm --registry=https://registry.npm.taobao.org

通過cnpm全局安裝express框架:

cnpm install -g express-generator

安裝完成后可以通過express --version來查看express版本。

②、初始化項目

通過express命令來初始化一個服務框架:express server,之后就可以看到生成了一個server文件夾。

使用Node.js怎么創建一個Express服務

其中bin/www.js用于創建一個HTTP的服務器并且啟動、監聽某個端口,一般不用修改。public文件夾用于存放img、js、css等靜態文件,routes文件夾存放路由js文件。view中存放視圖文件,默認提供的是用jade類型文件。app.js文件中設置視圖及通過app.use()調用相關模塊。例如:

//app.js文件內指定根目錄
var index = require('./routes/index');
app.use('/', index);
//index.js文件內渲染index頁面
router.get('/', function(req, res, next) {
 res.render('index', { title: 'Express' });
});

首先在app.js內將網站的根目錄指定為routes下的index.js文件,在index.js中調用router.get方法請求view下的視圖文件,在回調函數render中渲染index.jade界面,從而當你在瀏覽器輸入localhost:3000時會默認顯示view/index.jade頁面。

express官方提供.jade文件作為網頁默認視圖,因此如果需要使用html則需要進行配置:

首先通過cnpm install ejs --save安裝ejs插件,然后在app.js文件中view engine setup下進行配置引擎:

使用Node.js怎么創建一個Express服務

之后在views文件夾下刪除原有.jade文件,新建你想要展示的index.html文件即可。例如:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>express index</title>
</head>
<body>
  <h2>Express</h2>
  <p>Welcome use express in HTML</p>
</body>
</html>

3、啟動Express,在server所在文件夾下執行命令:node bin/www,在瀏覽器localhost:3000顯示為:

使用Node.js怎么創建一個Express服務

關于使用Node.js怎么創建一個Express服務問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女