之前工作中由于工作量问题,有时候需要等后台的同事写好接口才能联调。最近看了包建强老师的自己搭建服务器模拟数据的方法,忽然感觉发现新大陆一样,之前刚学了一些NodeJS的皮毛,想的自己搭建一个服务器。就是干!

所需要的环境

NodeJS

这里就不介绍怎么安装NodeJS了。

Express (Express中文网)

官方介绍说,Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。

搭建Express服务器

参考Express官网的文档就能轻轻松松的搭建,步骤如下:

前提:

已安装好Node.js,使用node -v 查看node的版本

Express安装

Step1: 新建一个项目文件夹

mkdir server

cd server

Step2: 使用npm初始化这个文件夹为Node环境的,初始化以后会生成一个package.json的文件

npm init

Step3: 安装Express框架

Express分为全局环境和临时环境两种方式

全局环境

npm install express --save

临时环境

npm install express

Express框架搭建

前提: Express框架安装完成。

直接下面的命令,让当前的文件夹用于express框架的文件结构

cd server

express

初始化以后安装依赖

npm install

待安装完成后就安装完了express的文件和依赖会在server文件夹下生成如下文件

.

├── app.js

├── bin

│ └── www

├── package.json

├── public

│ ├── images

│ ├── javascripts

│ └── stylesheets

│ └── style.css

├── routes

│ ├── index.js

│ └── users.js

└── views

├── error.jade

├── index.jade

└── layout.jade

文件配置,实现接口

这里我们要看一下app.js,/routes/index.js, /routes/users.js 这几个文件。

app.js

这里主要看

//设置接口的路径和数据

var index = require('./routes/index');

var users = require('./routes/users');

//设置接口的路径和数据

app.use('/', index);

app.use('/users', users);

上面两行代码是引入/routes/index.js和/routes/users.js两个文件,而这两个文件中配置这我们需要的json数据。

下面两行代码是我们访问json数据要用到的路径。我们可以配合和后台同事一样的路径,方便后期联调。

/routes/users.js

index.js和users.js的性质一样,这里以users.js讲解。

var express = require('express');

var router = express.Router();

/* GET users listing. */

router.get('/', function(req, res, next) {

var json='{"accountid":"","data":{"picurl":"https://b-ssl.duitang.com/uploads/item/201409/07/20140907232842_SEJCX.jpeg","url":"http://www.jianshu.com"},"errorCode":"0000","msg":"","token":""}';

res.send(json);

});

/* 获取新闻列表*/

router.get('/getnews', function(req, res, next) {

connection.query(

'SELECT * FROM `news`',

function(err,rows){

res.json(rows);

}

);

});

/*获取要修改的news*/

router.get('/curnews',function(req,res){

var newsid=req.query.newsid;

connection.query(

'SELECT * FROM `news` WHERE id=?',

[newsid],

function(err,rows,fileds){

res.json(rows);

}

);

});

/*删除新闻*/

router.post('/delnews',function(req,res){

var newsid=req.body.newsid;

connection.query(

'DELETE FROM `news` WHERE `id`=?',

[newsid],

function(err,result){

console.log(result.affectedRows);

res.json(result);

}

);

});

/*修改新闻*/

router.post('/update',function(req,res){

var newsid=req.body.newsid;

var newstitle=req.body.newstitle;

var newstype=req.body.newstype;

var newsimg=req.body.newsimg;

var newstime=req.body.newstime;

var newssrc=req.body.newssrc;

connection.query(

'UPDATE `news` SET `newstype`=?,`newstitle`=?,`newsimg`=?,`newstime`=?,`newssrc`=? WHERE `id`=?',

[xss(newstype),xss(newstitle),xss(newsimg),xss(newstime),xss(newssrc),newsid],

function(err,rows){

console.log("rows-------------"+rows);

res.json(rows.changedRows);

}

);

});

/*添加新闻*/

router.post('/insert',function(req,res){

var newstitle=req.body.newstitle;

var newstype=req.body.newstype;

var newsimg=req.body.newsimg;

var newstime=req.body.newstime;

var newssrc=req.body.newssrc;

connection.query(

'INSERT INTO `news` (`newstype`,`newstitle`,`newsimg`,`newstime`,`newssrc`) VALUES (?,?,?,?,?)',

[xss(newstype),xss(newstitle),xss(newsimg),xss(newstime),xss(newssrc)],

function(err,result){

if(!err){

console.log(result.insertId);

res.json(result)

}

}

);

});

module.exports = router;

这里需要注意的是

如果使用POST提交数据,那么要使用req.body.*的参数获取字段;

如果使用GET的方式获取数据,那么使用req.query.*的方式获取参数字段;

启动server,获取接口数据,在默认器数据127.0.0.1:3000查看允许的效果。

cd server

npm install

nodejs实现的高性能服务器编程,使用NodeJS搭建自己的接口服务器,提交APP的开发效率...相关推荐

  1. linux搭建mcpe服务器_技术|如何搭建“我的世界”服务器

    我们将通过一个一步步的.新手友好的教程来向你展示如何搭建一个"我的世界(Minecraft)"服务器.这将会是一个长期的多人游戏服务器,你可以与来自世界各地的朋友们一起玩,而不用在 ...

  2. 制作服务器需要哪些,怎么搭建一个小型企业服务器机房,做这些都需要什么

    怎么搭建一个小型企业服务器机房,做这些都需要什么? 通过内部部署IT解决方案来减少在线数据存储的安全问题,甚至完全避免这些问题. 但问题又来了,大多数小型企业只能通过投资专用的内部IT设备来成功实现这 ...

  3. 以太坊服务器是什么_搭建以太坊节点服务器https API

    一.启动RPC 我们在搭建完以太坊私链之后(搭建教程参考前面几篇文章),可以正常启动以太坊,启动RPC的方式有2种: 1.进入到 Geth JavaScript console,启动 #./geth ...

  4. HLS流媒体服务器对性能要求,搭建hls直播流媒体服务器有什么要求?

    HLS的基本原理是,当视频流被推送到流媒体服务器时,服务器将接收到的流信息打包成一个全新的TS文件,即切片文件(三块),服务器建立一个m3u8索引文件来维护全新TS段的索引.当播放机获得直播时,从m3 ...

  5. 网页gis服务器,在局域网中搭建自己的gis服务器

    需求 在客户的B/S应用系统中使用电子地图.该系统只可运行于内部网中. 分析 由于系统中的电子地图只能运行于局域网中所以不能采用google地图等.而且客户项目不大,所以不能购买收费的gis服务器. ...

  6. 服务器文件描述,服务器编程中的文件描述符

    Linux系统下一切皆文件,通过虚拟文件系统(VFS)的机制将所有底层屏蔽掉,用户可以通过统一的接口来实现对不同驱动的操作,对于每一个文件需要一个引用来指示,此时文件描述符应用而生,文件描述符类似于W ...

  7. 阿里云搭建自己的anki服务器

    阿里云搭建自己的anki服务器 @[Toc](阿里云搭建自己的anki服务器) 背景 需要买一台云服务器 云服务器 远程登录 一些准备工作 关于操作系统的适应 我踩的一些坑 搭建过程 打开端口 输入命 ...

  8. (十二)nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器

    上个章节我们简单介绍了下pomelo的安装和目录结构,有读者可能觉得有点吃不消,为什么不再深入讲一讲目录结构和里边的库,这里我就不费口舌了,大家可以去官网参考文档说明,本文只告诉大家如何利用这个框架来 ...

  9. Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型

    场景 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件让全世界浏览,还可以放置数据文件,让全世界下载.目前最主流的Web服务 ...

最新文章

  1. rabbitmq 消息队列 多重绑定
  2. (译)如何用命令行在windows Azure上安装负载平衡的web Farm虚拟机(linux或其他)...
  3. 19.7 主动模式和被动模式 19.8 添加监控主机 19.9 添加自定义模板 19.10 处理图形...
  4. 编译原理之正则表达式
  5. 智慧显示:5G时代的新机遇
  6. BZOJ.4553.[HEOI2016TJOI2016]序列(DP 树状数组套线段树/二维线段树(MLE) 动态开点)
  7. mysql进阶3_MySQL进阶
  8. IDEA 自动生成 serialVersionUID 的设置
  9. 子类怎么继承父类方法中的变量_关于继承的那些事!
  10. 拖动卡顿_教你4招,让你的ps永不卡顿
  11. CCF201509试题
  12. 【CS229】代价函数与梯度下降
  13. Selenium下载PDF文件实战 2021-07-21
  14. 小米+线刷+android,小米10 Android 11 Beta1刷机包发布,线刷体验,国内首批
  15. MySQL视图创建与管理(实验五)
  16. 音频打不开 服务器运行失败,win7系统提示音频服务器未运行的解决方法
  17. 伊利诺伊理工大学舒凯招收多名全奖博士生
  18. netty源码分析及优点
  19. 在Android上修改读取IMEI码的方法
  20. mac 无法打开22端口 无法远程连接ssh 的解决办法

热门文章

  1. 密码学基础知识(十)查缺补漏(缺)
  2. X86汇编——简易通讯录
  3. 疯狂打地鼠游戏核心代码(鼠标变锤子)
  4. 2020-10-27(左值和右值)
  5. 2、创建视图(CREATE VIEW)
  6. Python程序练习题6.2
  7. 寒假每日一题(提高组)【Week 3 完结】
  8. 2021算法竞赛入门班第一节课【枚举、贪心】习题
  9. 2.1.4 进程通信
  10. Bootstrap按钮使用