日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

创建一个提供数据 API 的 Node.js 网站

發(fā)布時(shí)間:2025/3/21 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建一个提供数据 API 的 Node.js 网站 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

創(chuàng)建站點(diǎn)目錄

首先,創(chuàng)建一個(gè)文件夾用來(lái)保存你的站點(diǎn)文件,使用 mkdir 就可以了

PS C:\> mkdir mysite

然后,進(jìn)入到這個(gè)文件夾進(jìn)行下一步的操作。

創(chuàng)建包說(shuō)明

使用記事本或者你喜歡的任何純文本編輯器創(chuàng)建 package.json 文件,文件名是一個(gè)約定必須是這個(gè)名字。

創(chuàng)建本網(wǎng)站自身的說(shuō)明,說(shuō)明依賴的其它包。

{"name": "express-api","version": "0.0.1","dependencies": {"express": "2.5.9","ejs": "0.4.2"} }

安裝需要的包

然后,執(zhí)行 npm install 安裝所依賴的包。npm 會(huì)自動(dòng)尋找當(dāng)前目錄下的 package.json 文件的。

安裝之后,目錄中多了一個(gè)文件夾 node_modules.

創(chuàng)建程序

使用任何你喜歡的純文本編輯器開(kāi)始寫你的 node.js 代碼,如果你有 Visual Studio 當(dāng)然更好了。

先讓我們的服務(wù)器運(yùn)行起來(lái)。創(chuàng)建名為 server.js 的代碼文件,寫入下面的內(nèi)容就可以創(chuàng)建一個(gè) web 服務(wù)器了。

var express = require("express"); var app = express.createServer(); console.log("Web Server listening ......"); app.listen(3000);

在命令行執(zhí)行下面的命令 node server ,啟動(dòng)我們的站點(diǎn)。你會(huì)看到網(wǎng)站服務(wù)器已經(jīng)在運(yùn)行了。

PS C:\mysite> node server Web Server listening ......

但是,訪問(wèn)一下,你會(huì)發(fā)現(xiàn)無(wú)法找到網(wǎng)頁(yè),當(dāng)然了,我們現(xiàn)在一個(gè)網(wǎng)頁(yè)也沒(méi)有呀!

創(chuàng)建視圖

你可以注意到了,我們的站點(diǎn)依賴于一個(gè)名為 ejs 的模塊,這個(gè)模塊提供了視圖支持,我們可以使用類似于 ASP.NET MVC 中的視圖來(lái)創(chuàng)建頁(yè)面。

在站點(diǎn)的根目錄下創(chuàng)建一個(gè)名為 views 的文件夾,保存我們的視圖。

創(chuàng)建我們的歡迎頁(yè)面 index.ejs,注意擴(kuò)展名,這是 ejs 的約定。

<h1>Data API</h1> <p>Welcome!</p>

把我們的代碼修改一下,當(dāng)訪問(wèn) / 的時(shí)候,返回這個(gè)視圖。

var express = require("express"); var app = express.createServer(); app.set("view engine", "ejs"); app.set("views", __dirname + "/views"); app.set("view options", { layout: false });app.get("/", function (request, response) {response.render("index"); }); console.log("Web Server listening ......"); app.listen(3000);

增加的幾個(gè) set 用來(lái)說(shuō)明我們的視圖引擎要使用 ejs 引擎,我們的視圖文件保存在當(dāng)前目錄下的 views 文件夾中,現(xiàn)在還沒(méi)有使用布局。
增加的 get 則說(shuō)明當(dāng)接收到一個(gè) get 請(qǐng)求訪問(wèn) / 的時(shí)候,我們需要使用名為 index 的視圖來(lái)呈現(xiàn)返回結(jié)果。

現(xiàn)在訪問(wèn) http://127.0.0.1:3000 就會(huì)收到這樣的回應(yīng)了。

創(chuàng)建數(shù)據(jù)

我們希望提供數(shù)據(jù)的 API ,數(shù)據(jù)保存在哪里呢?

我們先保存一個(gè) json 文件中,這個(gè)文件包含用戶的信息,名為 data.json。

{"1": {"name":"tom","email":"tom@nodejs.org"},"2": { "name":"red","email":"red@nodejs.org"} }

然后,我們希望通過(guò)用戶的標(biāo)識(shí)來(lái)獲取用戶的信息。
在我們的代碼中添加下面的一段。

app.get("/user/:id", function (request, response) {var id = request.params.id;console.log(id);response.json(data[id]); });

:id 表示這是一個(gè)參數(shù),在處理函數(shù)中可以通過(guò) request.params.id 來(lái)獲取到。

新增加的第一行用來(lái)加載我們的數(shù)據(jù)文件 data.json ,不要忘了前面的 ./ , 否則 node 會(huì)到 node_modules 中去找這個(gè)模塊的。
現(xiàn)在我們的代碼變成了這樣。

var data = require("./data");var express = require("express"); var app = express.createServer(); app.set("view engine", "ejs"); app.set("views", __dirname + "/views"); app.set("view options", { layout: false });app.get("/", function (request, response) {response.render("index"); });app.get("/user/:id", function (request, response) {var id = request.params.id;console.log(id);response.json(data[id]); });console.log("Web Server listening ......"); app.listen(3000);

現(xiàn)在,在地址欄中輸入 /user/1 ,你就會(huì)收到一個(gè) json 的返回結(jié)果,其中是 1 號(hào)用戶的信息了。

數(shù)一數(shù),你用了幾行就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的 API 服務(wù)?

包括空行也只有 20 行而已。

?

總結(jié)

以上是生活随笔為你收集整理的创建一个提供数据 API 的 Node.js 网站的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。