日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2025/3/20 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nodejs实现的高性能服务器编程,使用NodeJS搭建自己的接口服务器,提交APP的开发效率... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

之前工作中由于工作量問題,有時(shí)候需要等后臺(tái)的同事寫好接口才能聯(lián)調(diào)。最近看了包建強(qiáng)老師的自己搭建服務(wù)器模擬數(shù)據(jù)的方法,忽然感覺發(fā)現(xiàn)新大陸一樣,之前剛學(xué)了一些NodeJS的皮毛,想的自己搭建一個(gè)服務(wù)器。就是干!

所需要的環(huán)境

NodeJS

這里就不介紹怎么安裝NodeJS了。

Express (Express中文網(wǎng))

官方介紹說,Express 是一個(gè)基于 Node.js 平臺(tái)的極簡(jiǎn)、靈活的 web 應(yīng)用開發(fā)框架,它提供一系列強(qiáng)大的特性,幫助你創(chuàng)建各種 Web 和移動(dòng)設(shè)備應(yīng)用。

搭建Express服務(wù)器

參考Express官網(wǎng)的文檔就能輕輕松松的搭建,步驟如下:

前提:

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

Express安裝

Step1: 新建一個(gè)項(xiàng)目文件夾

mkdir server

cd server

Step2: 使用npm初始化這個(gè)文件夾為Node環(huán)境的,初始化以后會(huì)生成一個(gè)package.json的文件

npm init

Step3: 安裝Express框架

Express分為全局環(huán)境和臨時(shí)環(huán)境兩種方式

全局環(huán)境

npm install express --save

臨時(shí)環(huán)境

npm install express

Express框架搭建

前提: Express框架安裝完成。

直接下面的命令,讓當(dāng)前的文件夾用于express框架的文件結(jié)構(gòu)

cd server

express

初始化以后安裝依賴

npm install

待安裝完成后就安裝完了express的文件和依賴會(huì)在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

文件配置,實(shí)現(xiàn)接口

這里我們要看一下app.js,/routes/index.js, /routes/users.js 這幾個(gè)文件。

app.js

這里主要看

//設(shè)置接口的路徑和數(shù)據(jù)

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

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

//設(shè)置接口的路徑和數(shù)據(jù)

app.use('/', index);

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

上面兩行代碼是引入/routes/index.js和/routes/users.js兩個(gè)文件,而這兩個(gè)文件中配置這我們需要的json數(shù)據(jù)。

下面兩行代碼是我們?cè)L問json數(shù)據(jù)要用到的路徑。我們可以配合和后臺(tái)同事一樣的路徑,方便后期聯(lián)調(diào)。

/routes/users.js

index.js和users.js的性質(zhì)一樣,這里以u(píng)sers.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提交數(shù)據(jù),那么要使用req.body.*的參數(shù)獲取字段;

如果使用GET的方式獲取數(shù)據(jù),那么使用req.query.*的方式獲取參數(shù)字段;

啟動(dòng)server,獲取接口數(shù)據(jù),在默認(rèn)器數(shù)據(jù)127.0.0.1:3000查看允許的效果。

cd server

npm install

總結(jié)

以上是生活随笔為你收集整理的nodejs实现的高性能服务器编程,使用NodeJS搭建自己的接口服务器,提交APP的开发效率...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。