国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

node.js 如何搭建一個(gè) Web 服務(wù)

這篇具有很好參考價(jià)值的文章主要介紹了node.js 如何搭建一個(gè) Web 服務(wù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、引言

Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境,可用于開發(fā)各種類型的應(yīng)用程序,包括 Web 服務(wù)。本文將介紹如何使用 Node.js 搭建一個(gè)簡(jiǎn)單的 Web 服務(wù),并附帶示例代碼。

二、創(chuàng)建 node 項(xiàng)目

?創(chuàng)建一個(gè)名為 node-serve 的文件夾,然后在當(dāng)前文件下輸入初始化node項(xiàng)目命令。

npm init

然后一直按回車即可,完成之后可生成一個(gè)?package.json?文件。

nodejs啟動(dòng)項(xiàng)目web,node 項(xiàng)目,node.js,后端,express

中間的配置過程可后續(xù)在生成的?package.json?文件中配置?

?在當(dāng)前文件夾下新建一個(gè) index.js 的文件,為當(dāng)前項(xiàng)目的主入口文件。

nodejs啟動(dòng)項(xiàng)目web,node 項(xiàng)目,node.js,后端,express

到這里 node 項(xiàng)目基本就創(chuàng)建完成了。

三、創(chuàng)建 Web 服務(wù)

下載 express 包

npm install express --save

編寫 index.js 文件,引入 express 并啟動(dòng)一個(gè)服務(wù)

const express = require('express');  
const app = express();  
  
// 設(shè)置路由 ( 接口 )
app.get('/', (req, res) => {  
  res.send('Hello World!');  
});  
  
// 啟動(dòng)服務(wù)  
app.listen(3000, () => {  
  console.log('Server started on port 3000');  
});

在這個(gè)示例中,我們創(chuàng)建了一個(gè) express?應(yīng)用,并設(shè)置了一個(gè)路由,當(dāng)訪問根路徑?/?時(shí),返回字符串?'Hello World!'。

在當(dāng)前文件夾下使用終端命令啟動(dòng)服務(wù)

node index.js

使用 postman 測(cè)試如下

nodejs啟動(dòng)項(xiàng)目web,node 項(xiàng)目,node.js,后端,express

四、使用中間件?

中間件是指那些在處理 HTTP 請(qǐng)求和響應(yīng)周期中的某個(gè)特定階段執(zhí)行代碼的函數(shù)。這些函數(shù)可以執(zhí)行各種任務(wù),例如解析請(qǐng)求體、驗(yàn)證身份、記錄日志、路由處理等。

body-parser

body-parser 是一個(gè) Node.js 中間件,用于解析 HTTP 請(qǐng)求體。它提供了多種解析器,如 JSON、Raw、Text 和 URL-encoded form,以處理不同類型的請(qǐng)求體。

const express = require('express');  
const bodyParser = require('body-parser');  
const app = express();  
  
// 使用 body-parser 中間件解析 JSON 請(qǐng)求體  
app.use(bodyParser.json());  
  
// 使用 body-parser 中間件解析 URL-encoded form 請(qǐng)求體  
app.use(bodyParser.urlencoded({ extended: true }));  
  
// 定義路由處理程序  
app.get('/', (req, res) => {  
  res.send('Hello World!');  
});  
  
app.post('/api/data', (req, res) => {  
  // 解析請(qǐng)求體中的 JSON 數(shù)據(jù)  
  const data = req.body;  
  // 處理數(shù)據(jù)...  
});  
  
app.listen(3000, () => {  
  console.log('Server started on port 3000');  
});

自定義中間件

const express = require('express');  
const app = express();  
  
// 定義一個(gè)中間件函數(shù)  
function myMiddleware(req, res, next) {  
  console.log('Middleware executed');  
  next(); // 調(diào)用 next() 函數(shù)以將控制權(quán)傳遞給下一個(gè)中間件或路由處理器  
}  
  
app.use(myMiddleware); // 將中間件應(yīng)用到應(yīng)用中  
  
app.get('/', (req, res) => {  
  res.send('Hello World!');  
});  
  
app.listen(3000, () => {  
  console.log('Server started on port 3000');  
});

五、http 請(qǐng)求和 http 響應(yīng)

http 請(qǐng)求

// HTTP請(qǐng)求方法(GET、POST、PUT、DELETE等)。
req.method

// HTTP請(qǐng)求的URL。
req.url

// 請(qǐng)求的URL路徑名。
req.path

// 包含在URL查詢字符串中的參數(shù)對(duì)象。
req.query

// 包含HTTP請(qǐng)求頭的對(duì)象。
req.headers

// 包含在POST請(qǐng)求中的請(qǐng)求主體的對(duì)象。需要使用body-parser中間件才能訪問。
req.body

// 包含路由參數(shù)的對(duì)象。例如,對(duì)于路徑/user/:id,req.params.id將包含匹配的ID。
req.params

// 客戶端的IP地址。
req.ip

// 請(qǐng)求的主機(jī)名。
req.host

// 獲取HTTP請(qǐng)求頭的指定字段的值。
req.get(field)

// 獲取客戶端的cookie。選項(xiàng)可以包括簽名選項(xiàng)(如果cookie是加密的)。
req.cookie(name[, options])

以上是常見請(qǐng)求對(duì)象及方法?

http 響應(yīng)

res?代表 HTTP 響應(yīng)對(duì)象。通過?res,你可以設(shè)置 HTTP 響應(yīng)的狀態(tài)碼、響應(yīng)頭和響應(yīng)主體。

// HTTP 響應(yīng)的狀態(tài)碼,表示請(qǐng)求的處理結(jié)果。例如,200 表示成功,404 表示找不到資源。
res.status(code)

//設(shè)置 HTTP 響應(yīng)的響應(yīng)頭。name?參數(shù)是響應(yīng)頭的名稱,value?參數(shù)是響應(yīng)頭的值。
res.setHeader(name, value)

//獲取 HTTP 響應(yīng)的響應(yīng)頭。name?參數(shù)是響應(yīng)頭的名稱。
res.getHeader(name)

//移除 HTTP 響應(yīng)的響應(yīng)頭。name?參數(shù)是響應(yīng)頭的名稱。
res.removeHeader(name)

//設(shè)置一個(gè) HTTP cookie,并將值存儲(chǔ)在客戶端上。
res.cookie(name, value)

//設(shè)置 HTTP 響應(yīng)一個(gè) JSON 對(duì)象、一個(gè)數(shù)組或者一個(gè)字符串。
res.json(json)

//響應(yīng)一個(gè)字符串、一個(gè)數(shù)字、一個(gè)布爾值或者一個(gè)對(duì)象。
res.send(body)

//渲染一個(gè)視圖模板并將結(jié)果發(fā)送到客戶端。
res.render(view, [options], callback)

//將 HTTP 響應(yīng)標(biāo)記為附件,通常用于下載功能。filename?參數(shù)是可選的,表示要下載的文件名。
res.attachment([filename])

//將指定的文件作為 HTTP 響應(yīng)發(fā)送給客戶端。path?參數(shù)是文件的路徑,options?參數(shù)是可選的,用于配置文件的響應(yīng)選項(xiàng)。
res.sendFile(path[, options])

//將指定的文件作為 HTTP 下載提供給客戶端。path?參數(shù)是文件的路徑,filename?參數(shù)是可選的,表示要下載的文件名。
res.download(path[, filename])

//將客戶端重定向到指定的 URL。
res.redirect(url)

以上是常見響應(yīng)方法

六、使用路由(多文件)

創(chuàng)建 router.js?

const express = require('express');  
const router = express.Router();  
  
// 定義一個(gè)路由處理程序,用于處理GET請(qǐng)求  
router.get('/test', function(req, res) {  
  res.send('Hello World!');  
});  
  
// 定義另一個(gè)路由處理程序,用于處理POST請(qǐng)求  
router.post('/submit', function(req, res) {  
  res.send('Submit received!');  
});  
  
module.exports = router;

在 index.js 中引用 router.js文章來源地址http://www.zghlxwxcb.cn/news/detail-856579.html

const express = require('express');  
const app = express();
 

const router = require('./router'); // 導(dǎo)入路由器對(duì)象  
// 將路由器對(duì)象添加到應(yīng)用程序中
app.use(router); //(訪問 localhos/test)
// 將路由器對(duì)象添加到應(yīng)用程序中(加入自定義統(tǒng)一前綴)
app.use('/api',router); //(訪問 localhost/api/test)
  
app.listen(3000, function() {  
  console.log('Server is running on port 3000');  
});

到了這里,關(guān)于node.js 如何搭建一個(gè) Web 服務(wù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【小沐學(xué)Web】Node.js搭建HTTPS 服務(wù)器

    【小沐學(xué)Web】Node.js搭建HTTPS 服務(wù)器

    HTTPS是什么?HTTPS是基于TLS/SSL的HTTP協(xié)議。 HTTPS (全稱:Hypertext Transfer Protocol Secure),是以安全為目標(biāo)的 HTTP 通道,在HTTP的基礎(chǔ)上通過傳輸加密和身份認(rèn)證保證了傳輸過程的安全性。HTTPS 在HTTP 的基礎(chǔ)下加入SSL,HTTPS 的安全基礎(chǔ)是 SSL,因此加密的詳細(xì)內(nèi)容就需要 SSL。 HTTPS 存

    2024年02月11日
    瀏覽(27)
  • 使用Node.js手?jǐn)]一個(gè)建靜態(tài)Web服務(wù)器,內(nèi)部CV指南

    使用Node.js手?jǐn)]一個(gè)建靜態(tài)Web服務(wù)器,內(nèi)部CV指南

    文章里有全部代碼,也可以積分下載 操作步驟如上圖 文章結(jié)束 話說這個(gè)鍵盤真漂亮~~ 1.1 靜態(tài)Web服務(wù)器概念 我們通常稱 靜態(tài)Web服務(wù)器 為 靜態(tài)網(wǎng)站 ,其主要特征就是服務(wù)器上的所有內(nèi)容都是現(xiàn)成的,不需要后端做額外的處理。當(dāng)我們向靜態(tài)服務(wù)器發(fā)送網(wǎng)頁(yè)請(qǐng)求時(shí),服務(wù)器只

    2023年04月08日
    瀏覽(95)
  • 使用Node.js服務(wù)搭建本地web網(wǎng)頁(yè)小游戲并實(shí)現(xiàn)遠(yuǎn)程訪問

    使用Node.js服務(wù)搭建本地web網(wǎng)頁(yè)小游戲并實(shí)現(xiàn)遠(yuǎn)程訪問

    Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web應(yīng)用程序框架。 Node.js自帶運(yùn)行時(shí)環(huán)境可在Javascript腳本的基礎(chǔ)上可以解釋和執(zhí)行(這類似于JVM的Java字節(jié)碼)。這個(gè)運(yùn)行時(shí)允許在瀏覽器以外的任何機(jī)器上執(zhí)行JavaScript代碼。由于這種運(yùn)行時(shí)在Node.js上,所以JavaScript現(xiàn)在可以在服務(wù)

    2024年02月04日
    瀏覽(19)
  • 教你如何使用Nodejs搭建HTTP web服務(wù)器并發(fā)布上線公網(wǎng)

    教你如何使用Nodejs搭建HTTP web服務(wù)器并發(fā)布上線公網(wǎng)

    轉(zhuǎn)載自內(nèi)網(wǎng)穿透工具的文章:使用Nodejs搭建HTTP服務(wù),并實(shí)現(xiàn)公網(wǎng)遠(yuǎn)程訪問「內(nèi)網(wǎng)穿透」 Node.js 是能夠在服務(wù)器端運(yùn)行 JavaScript 的開放源代碼、跨平臺(tái)運(yùn)行環(huán)境。Node.js 由 OpenJS Foundation(原為 Node.js Foundation,已與 JS Foundation 合并)持有和維護(hù),亦為 Linux 基金會(huì)的項(xiàng)目。Node.js

    2024年02月05日
    瀏覽(136)
  • 如何快速用node在本地搭建一個(gè)服務(wù)器

    如何快速用node在本地搭建一個(gè)服務(wù)器

    眾所周知, 服務(wù)器是通過安裝特殊的軟件(或者運(yùn)行特殊的代碼)來提供網(wǎng)絡(luò)服務(wù)的機(jī)器 。那么我們的電腦可不可以弄成一個(gè)服務(wù)器,來供他人訪問呢? 答案是可以的,這里我們需要安裝一下 node.js 這個(gè)軟件。傳送門:Node.js 中文網(wǎng) 下載好后按住Win + R 運(yùn)行cmd小黑窗,輸入

    2024年02月04日
    瀏覽(132)
  • 初級(jí) - 如何搭建一個(gè)Java Web項(xiàng)目 - 記錄

    初級(jí) - 如何搭建一個(gè)Java Web項(xiàng)目 - 記錄

    Intellij IDEA 一般可以通過兩種方式創(chuàng)建 Spring Boot 項(xiàng)目: 使用 Maven 創(chuàng)建 使用 Spring Initializr 創(chuàng)建 Tips: 標(biāo)題選項(xiàng)后的 感嘆號(hào) ! 的是重點(diǎn)配置 這里筆者選擇的是 2.x 版本的 Spring Boot,不勾選 Download pre-built … 1. 取消download pre-built shared indexes自動(dòng)下載 Developer Tools 選項(xiàng) ! 1. Spring

    2024年02月07日
    瀏覽(28)
  • 【NodeJs】使用Express框架快速搭建一個(gè)web網(wǎng)站

    【NodeJs】使用Express框架快速搭建一個(gè)web網(wǎng)站

    如果電腦有安裝使用Nodejs,用得次數(shù)少的話,忘了怎么弄,可以看看這個(gè)文章,按照步驟,能快速搭建一個(gè)web網(wǎng)站服務(wù)器, 首先,你需要保證電腦系統(tǒng)有安裝了Node.js,然后可以用VsCode開發(fā)工具,新建一個(gè)項(xiàng)目文件夾, 如果你是新手,應(yīng)該知道,創(chuàng)建nodejs項(xiàng)目會(huì)依賴npm, 在項(xiàng)

    2024年02月03日
    瀏覽(30)
  • nodejs-websocket之簡(jiǎn)單利用node搭建服務(wù)器

    一、 需要安裝 node.js 通過npm 安裝 webSocket包 npm install websocket 二、編寫服務(wù)端 這段代碼是一個(gè)使用Node.js的websocket庫(kù)(nodejs-websocket)創(chuàng)建的服務(wù)器,監(jiān)聽端口3000。以下是對(duì)代碼的簡(jiǎn)要解釋: 引入所需的websocket模塊: const ws = require(\\\'nodejs-websocket\\\') 設(shè)置服務(wù)器端口號(hào): const PORT =

    2024年02月07日
    瀏覽(30)
  • 如何開發(fā)和搭建一個(gè)優(yōu)質(zhì)的Web3.0/區(qū)塊鏈項(xiàng)目?

    在區(qū)塊鏈?zhǔn)澜绾?加密領(lǐng)域 中 、Web3 絕對(duì)算得上是一個(gè)耀眼的明星了,現(xiàn)在的風(fēng)頭明顯蓋過前兩位老大哥了。 相信許多人也都想嘗試熟悉或者參與區(qū)塊鏈,加密領(lǐng)域和 Wed3之中,今天我們就來談?wù)勅绾我攒浖_發(fā)的角度,來搭建一個(gè)優(yōu)質(zhì)的區(qū)塊鏈相關(guān)項(xiàng)目。 如何創(chuàng)建一個(gè)優(yōu)質(zhì)

    2024年01月16日
    瀏覽(19)
  • 快速入門 NodeJS 之『搭建Web服務(wù)器』(搭建個(gè)人博客相關(guān))

    快速入門 NodeJS 之『搭建Web服務(wù)器』(搭建個(gè)人博客相關(guān))

    1.創(chuàng)建一個(gè)空文件夾,在vscode中打開 2.開啟package文件,因?yàn)樾枰玫絥pm包 ? ? ? ? ? npm init -y? 3.創(chuàng)建bin文件夾,也就是程序運(yùn)行最開始訪問的文件夾? 4.www.js創(chuàng)建服務(wù)器 ? ? ? ?將回調(diào)函數(shù)單獨(dú)抽離出來,放在根目錄文件app.js? 5.啟動(dòng)服務(wù)器? ? ? ? 5.1啟動(dòng)前,將package.json中

    2024年02月05日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包