国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

零基礎之Node.js搭建API服務器的詳解

2024-05-06 15:41:48
字體:
來源:轉載
供稿:網友

零基礎之Node.js搭建API服務器

這篇文章寫給那些Node.js零基礎,但希望自己動手實現服務器API的前端開發者,嘗試幫大家打開一扇門。

HTTP服務器實現原理

HTTP服務器之所以能提供前端使用的API,其實現原理是服務器保持監聽計算機的某個端口(通常是80),等待客戶端請求,當請求到達并經過一系列處理后,服務器發送響應數據給到前端。

平時大家通過Ajax調用API,即是發起一次請求,經過服務器處理后,得到結果,然后再進行前端處理。如今使用高級編程語言,要實現服務器那部分功能已經變得非常簡單,接下來我們了解一下使用Node.js如何實現。

什么是Node.js?它可以做什么?

Node.js是一個JavaScript的運行時(runtime),它提供了大量用JS與操作系統打交道的API,通過這些API,我們可以調用本地程序、讀寫磁盤、監聽端口、發起網絡請求等,這足以開發出一個功能完善的Server。

前期準備

簡單介紹完Node.js,開始寫代碼之前,我們需要安裝Node.js,安裝詳細過程就不說明了,請大家Google或者百度。不同系統安裝過程不一樣,如果是Linux、Mac,會相對順利且遇到問題的可能性較低。

判斷安裝成功與否,windows下,在cmd中執行node -v,Linux、Mac下,在shell中執行node -v,正常輸出版本號說明安裝成功。

tips:

windows如果提示命令未找到,可能是未配置環境變量

實現簡單的Server

Node.js安裝成功,我們找個地方新建目錄my-server作為我們的存放代碼的地方,接下來所有的代碼都在該目錄下。首先,在my-server的目錄下新建文件index.js,用如下代碼實現一個簡單的Server:

// index.js// 通過require獲取兩個node內置模塊const http = require('http');const nUrl = require('url');// '127.0.0.1'表明只有本機可訪問,'0.0.0.0'表示所有人可訪問const hostname = '127.0.0.1';const port = 3000;// 通過http.createServer獲取一個server實例// 其中(req, res) => {},在服務器每次接收到請求時都會被執行const server = http.createServer((req, res) => {  let method = req.method; // 客戶端請求方法  let url = nUrl.parse(req.url); // 將請求url字符串轉換為node的url對象  // 如果客戶端GET請求'/',會執行這個分支里面的邏輯  if (method === 'GET' && url.pathname === '/') {    res.statusCode = 200;    res.setHeader('Content-Type', 'text/plain');    res.end('Hello World');    return;  }  // 如果客戶端GET請求'/api/user',會執行這個分支里面的邏輯  if (method === 'GET' && url.pathname === '/api/user') {    res.statusCode = 200;    res.setHeader('Content-Type', 'application/json');    res.end(JSON.stringify({      code: 0,      msg: '',      result: {        username: 'shasharoman'      }    }));    return;  }  // 沒有匹配其他分支的話,執行以下邏輯  res.statusCode = 404;  res.setHeader('Content-Type', 'text/plain');  res.end('Not Found');});// server開始監聽,等待請求到來server.listen(port, hostname, () => {  console.log(`Server running at http://${hostname}:${port}/`);});            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 庄河市| 青岛市| 惠来县| 许昌县| 凤山市| 文化| 黄大仙区| 二连浩特市| 太仓市| 塘沽区| 万载县| 承德市| 嘉善县| 龙山县| 偃师市| 伊川县| 泗洪县| 浮山县| 景谷| 平南县| 自贡市| 张家港市| 礼泉县| 新沂市| 宁强县| 民和| 宿松县| 九江县| 天门市| 永德县| 资阳市| 班戈县| 富平县| 宜都市| 雷州市| 青阳县| 防城港市| 灵武市| 九龙坡区| 保定市| 山阳县|