创建一个提供数据 API 的 Node.js 网站
?
創(chuàng)建站點目錄
首先,創(chuàng)建一個文件夾用來保存你的站點文件,使用 mkdir 就可以了
PS C:\> mkdir mysite然后,進入到這個文件夾進行下一步的操作。
創(chuàng)建包說明
使用記事本或者你喜歡的任何純文本編輯器創(chuàng)建 package.json 文件,文件名是一個約定必須是這個名字。
創(chuàng)建本網(wǎng)站自身的說明,說明依賴的其它包。
{"name": "express-api","version": "0.0.1","dependencies": {"express": "2.5.9","ejs": "0.4.2"} }安裝需要的包
然后,執(zhí)行 npm install 安裝所依賴的包。npm 會自動尋找當前目錄下的 package.json 文件的。
安裝之后,目錄中多了一個文件夾 node_modules.
創(chuàng)建程序
使用任何你喜歡的純文本編輯器開始寫你的 node.js 代碼,如果你有 Visual Studio 當然更好了。
先讓我們的服務(wù)器運行起來。創(chuàng)建名為 server.js 的代碼文件,寫入下面的內(nèi)容就可以創(chuàng)建一個 web 服務(wù)器了。
var express = require("express"); var app = express.createServer(); console.log("Web Server listening ......"); app.listen(3000);在命令行執(zhí)行下面的命令 node server ,啟動我們的站點。你會看到網(wǎng)站服務(wù)器已經(jīng)在運行了。
PS C:\mysite> node server Web Server listening ......但是,訪問一下,你會發(fā)現(xiàn)無法找到網(wǎng)頁,當然了,我們現(xiàn)在一個網(wǎng)頁也沒有呀!
創(chuàng)建視圖
你可以注意到了,我們的站點依賴于一個名為 ejs 的模塊,這個模塊提供了視圖支持,我們可以使用類似于 ASP.NET MVC 中的視圖來創(chuàng)建頁面。
在站點的根目錄下創(chuàng)建一個名為 views 的文件夾,保存我們的視圖。
創(chuàng)建我們的歡迎頁面 index.ejs,注意擴展名,這是 ejs 的約定。
<h1>Data API</h1> <p>Welcome!</p>把我們的代碼修改一下,當訪問 / 的時候,返回這個視圖。
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);增加的幾個 set 用來說明我們的視圖引擎要使用 ejs 引擎,我們的視圖文件保存在當前目錄下的 views 文件夾中,現(xiàn)在還沒有使用布局。
增加的 get 則說明當接收到一個 get 請求訪問 / 的時候,我們需要使用名為 index 的視圖來呈現(xiàn)返回結(jié)果。
現(xiàn)在訪問 http://127.0.0.1:3000 就會收到這樣的回應(yīng)了。
創(chuàng)建數(shù)據(jù)
我們希望提供數(shù)據(jù)的 API ,數(shù)據(jù)保存在哪里呢?
我們先保存一個 json 文件中,這個文件包含用戶的信息,名為 data.json。
{"1": {"name":"tom","email":"tom@nodejs.org"},"2": { "name":"red","email":"red@nodejs.org"} }然后,我們希望通過用戶的標識來獲取用戶的信息。
在我們的代碼中添加下面的一段。
:id 表示這是一個參數(shù),在處理函數(shù)中可以通過 request.params.id 來獲取到。
新增加的第一行用來加載我們的數(shù)據(jù)文件 data.json ,不要忘了前面的 ./ , 否則 node 會到 node_modules 中去找這個模塊的。
現(xiàn)在我們的代碼變成了這樣。
現(xiàn)在,在地址欄中輸入 /user/1 ,你就會收到一個 json 的返回結(jié)果,其中是 1 號用戶的信息了。
數(shù)一數(shù),你用了幾行就實現(xiàn)了一個簡單的 API 服務(wù)?
包括空行也只有 20 行而已。
?
總結(jié)
以上是生活随笔為你收集整理的创建一个提供数据 API 的 Node.js 网站的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: busybox在android开发中的应
- 下一篇: css整理(1)