使用LeanCloud+NodeJS+Express 搭建App的服务端

本文将介绍
1、如何快速地搭建一个简单的服务端,提供App和web可以访问的接口
2、如何将服务器部署到LeanCloud上

一、创建项目

首先你需要安装NodeJS环境 这里不再做介绍

1.安装Express

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

2.初始化项目

  cd /Users/SPRINT/Desktop 进入桌面
  express 项目名称
EA6F31DE-C6DA-4494-96F3-CD5D5C52C85A.png
  cd 项目名称
  npm install

回到桌面 将看到一个wuappserver目录 这里使用Sublime Text打开

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

/bin:用来启动应用(服务器)
/public: 存放静态资源目录
/routes:路由用于确定应用程序如何响应对特定端点的客户机请求,包含一个 URI(或路径)和一个特定的 HTTP 请求方法(GET、POST 等)。每个路由可以具有一个或多个处理程序函数,这些函数在路由匹配时执行。
/views: 模板文件所在目录 文件格式为.jade
目录app.js程序main文件 这个是服务器启动的入口

二、启动本地服务

npm start   //启动服务器

启动完成后终端将输出 node ./bin/www
在浏览器中访问 http://localhost:3000/

三、定义接口

如果我们想要实现一个获取用户信息接口该怎么写呢?
很简单在 routes目录下创建一个user.js文件内容如下:

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

定义一个User模型

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

切换到users.js文件
在文件顶部添加

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

并继续添加如下内容:

// 返回对象
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));

});

停止服务器 重新start服务器即可直接访问
调用方式
http://localhost:3000/users/getUserInfo?id=1
或者
http://localhost:3000/users/getUserInfo?id=2

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

四、部署到LeanCloud

1、LeanCloud 对于每个应用都默认赠送一个「基本资源 0.5 CPU + 256 MB 内存」的体验实例,可以免费使用,供开发者学习和测试云引擎,因此我们选择LeanCloud。
2、LeanCloud部署是需要设置代码库,因此我们需要先把刚才创建的项目提交到Git仓库,我们选择 github仓库

1、GitHub 新建仓库

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

创建成功

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

复制仓库地址,在终端执行下面命令,将代码clone到本地

cd desktop
git clone 仓库地址

桌面上会多一个名为 webserver 的文件夹,将第一步创建项目文件夹下的所有文件复制到 webserver 文件夹下,执行以下命令提交到仓库

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

这时再回到GitHub,会发现刚才新建的仓库里面已经有我们创建的项目了


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

2、设置LeanCloud

  • 注册LeanCloud,新建一个应用
  • 设置
    设置git仓库地址
61EBF32F-A70E-4C86-A337-4F44E3376AF7.png

设置主机域名

97FAE0FF-C0F3-4D8F-B72E-0E27A19F4617.png
  • 部署服务
E8EC026A-7967-4D16-9ED1-C77AE8F60E68.png

部署成功后,将看到实例状态 “运行中”,至此,服务器已经启动,服务器的地址,就是上一步设置的主机域名!

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

五、测试接口

利用Postman模拟App发送Get请求

EB723FD0-3204-4A4D-9893-5C7C91BE1FB9.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容