使用LeanCloud+NodeJS+Express 搭建App的服務(wù)端

本文將介紹
1、如何快速地搭建一個(gè)簡單的服務(wù)端,提供App和web可以訪問的接口
2、如何將服務(wù)器部署到LeanCloud上

一、創(chuàng)建項(xiàng)目

首先你需要安裝NodeJS環(huán)境 這里不再做介紹

1.安裝Express

  sudo npm install express -g
  sudo npm install express-generator -g

2.初始化項(xiàng)目

  cd /Users/SPRINT/Desktop 進(jìn)入桌面
  express 項(xiàng)目名稱
EA6F31DE-C6DA-4494-96F3-CD5D5C52C85A.png
  cd 項(xiàng)目名稱
  npm install

回到桌面 將看到一個(gè)wuappserver目錄 這里使用Sublime Text打開

59FE6358-4C4B-4265-9FB3-385970D95F02.png

/bin:用來啟動應(yīng)用(服務(wù)器)
/public: 存放靜態(tài)資源目錄
/routes:路由用于確定應(yīng)用程序如何響應(yīng)對特定端點(diǎn)的客戶機(jī)請求,包含一個(gè) URI(或路徑)和一個(gè)特定的 HTTP 請求方法(GET、POST 等)。每個(gè)路由可以具有一個(gè)或多個(gè)處理程序函數(shù),這些函數(shù)在路由匹配時(shí)執(zhí)行。
/views: 模板文件所在目錄 文件格式為.jade
目錄app.js程序main文件 這個(gè)是服務(wù)器啟動的入口

二、啟動本地服務(wù)

npm start   //啟動服務(wù)器

啟動完成后終端將輸出 node ./bin/www
在瀏覽器中訪問 http://localhost:3000/

三、定義接口

如果我們想要實(shí)現(xiàn)一個(gè)獲取用戶信息接口該怎么寫呢?
很簡單在 routes目錄下創(chuàng)建一個(gè)user.js文件內(nèi)容如下:

E911CFF2-DE66-42C3-AFEC-3D4B9F513DB8.png

定義一個(gè)User模型

function User() {
      this.name;
      this.city;
      this.age;
}
module.exports = User;

切換到users.js文件
在文件頂部添加

 var URL = require('url');
var User = require('./user');

并繼續(xù)添加如下內(nèi)容:

// 返回對象
router.get('/getUserInfo', function(req, res, next) {

    var user = new User();
    var params = URL.parse(req.url, true).query;

 if(params.id == '1') {

    user.name = "羅子君";
    user.age = "37";
    user.city = "上海市";

}else{    
    user.name = "賀函";
    user.age = "36";
    user.city = "上海市";
}

  var response = {status:1,data:user};
  res.send(JSON.stringify(response));

});

// 返回簡單的 JSON
router.get('/getAll', function(req, res, next) {

  var data = {
    "靳東":"賀涵", "馬伊琍":"羅子君", "袁泉":"唐晶", "雷佳音":"陳俊生 ", "吳越":"凌玲", "許娣":"薛甄珠", "張齡心":"羅子群", "鄔君梅":"吳大娘", "欒元暉":"白光", "鄭羅茜":"薇薇安", "啜妮":"洛洛", "梅婷":"卓漸清前女友", "譚凱":"Adom", "孔維":"單身女人", "張棪琰":"蘇曼殊", "侯巖松":"老金", "魏之皓":"平兒", "王天澤":"冷佳清", "于明加":"安琪兒CEO", "任東霖":"李睿", "張衣":"羅平", "黃瀾":"M女士", "陳道明":"卓漸清"
  }

  var response = {status:1,data:data};
  res.send(JSON.stringify(response));

});

停止服務(wù)器 重新start服務(wù)器即可直接訪問
調(diào)用方式
http://localhost:3000/users/getUserInfo?id=1
或者
http://localhost:3000/users/getUserInfo?id=2

DD4C826C-9397-429B-A16B-1D54383247CC.png

四、部署到LeanCloud

1、LeanCloud 對于每個(gè)應(yīng)用都默認(rèn)贈送一個(gè)「基本資源 0.5 CPU + 256 MB 內(nèi)存」的體驗(yàn)實(shí)例,可以免費(fèi)使用,供開發(fā)者學(xué)習(xí)和測試云引擎,因此我們選擇LeanCloud。
2、LeanCloud部署是需要設(shè)置代碼庫,因此我們需要先把剛才創(chuàng)建的項(xiàng)目提交到Git倉庫,我們選擇 github倉庫

1、GitHub 新建倉庫

9881206E-C206-47F6-B25B-76E63F0143F3.png

創(chuàng)建成功

4E992E29-B474-4265-87C0-B88C759BAAB9.png

復(fù)制倉庫地址,在終端執(zhí)行下面命令,將代碼clone到本地

cd desktop
git clone 倉庫地址

桌面上會多一個(gè)名為 webserver 的文件夾,將第一步創(chuàng)建項(xiàng)目文件夾下的所有文件復(fù)制到 webserver 文件夾下,執(zhí)行以下命令提交到倉庫

git add .
git commit -m'info'
git push

這時(shí)再回到GitHub,會發(fā)現(xiàn)剛才新建的倉庫里面已經(jīng)有我們創(chuàng)建的項(xiàng)目了


3918218C-181E-4DE5-9153-84F2BDA2AFE6.png

2、設(shè)置LeanCloud

  • 注冊LeanCloud,新建一個(gè)應(yīng)用
  • 設(shè)置
    設(shè)置git倉庫地址
61EBF32F-A70E-4C86-A337-4F44E3376AF7.png

設(shè)置主機(jī)域名

97FAE0FF-C0F3-4D8F-B72E-0E27A19F4617.png
  • 部署服務(wù)
E8EC026A-7967-4D16-9ED1-C77AE8F60E68.png

部署成功后,將看到實(shí)例狀態(tài) “運(yùn)行中”,至此,服務(wù)器已經(jīng)啟動,服務(wù)器的地址,就是上一步設(shè)置的主機(jī)域名!

FDBE8641-4277-4730-B506-3582A59AB20C.png

五、測試接口

利用Postman模擬App發(fā)送Get請求

EB723FD0-3204-4A4D-9893-5C7C91BE1FB9.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容