javascript
nodejs实现的高性能服务器编程,使用NodeJS搭建自己的接口服务器,提交APP的开发效率...
之前工作中由于工作量問題,有時候需要等后臺的同事寫好接口才能聯調。最近看了包建強老師的自己搭建服務器模擬數據的方法,忽然感覺發現新大陸一樣,之前剛學了一些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的开发效率...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器怎么虚拟化内存,服务器虚拟化内存大
- 下一篇: markdown 流程图js_科学网—让