nodejs写接口- 初探

2019-04-23  本文已影响0人  要开心

转载自文章配置node服务器环境

首先需要基础环境nodejs的全局安装:可通过(https://nodejs.org/en/download/)安装,安装过程基本是全程"NEXT"就ok了
安装完成后可在控制台(win+R输入cmd进入)测试是否已安装成功(node -v)
新版的nodejs已经集成了npm,所以npm也一并安装好了,可以在cmd命令行输入"npm -v"来测试是否成功安装。
0 在目录下:“npm init” 初始化nodejs项目,生成package.json文件

  1. 通过CMD cd到自定义目录(放后台数据库表和数据库链接,以及API接口等)下 : npm install express
    安装express框架
  1. 在自定义文件夹中创建index.js文件
var express = require('express');//引入express模块
var app = express();


//定义方法
app.get('/',function(req,res){
    res.send('HellowWorld')
});

//定义端口,此处所用为3000端口,可自行更改
var server = app.listen(3000,function(){
    var host = server.address().address;
    var port = server.address().port;

    console.log('Example app listening at http://%s:%s',host,port);
})
  1. 可在‘Postman’中进行数据尝试,验证是否代码成功运行
    1)在控制台页面 node index 运行index.js
    2)显示“Example app listening at http://:::3000”则成功开启3000端口
    3)Postman中选用GET方法 输入“localhost:3000/”,若显示“HellowWorld”则成功
  1. 在CMD下继续安装 body-parser模块,命令npm install body-parser --save
    (注:post请求要借助body-parser模块。使用后,将可以用req.body得到参数)
//引入  bodyParser 方法
const bodyParser = require('body-parser');

//post 参数解析
//parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended:false}))

//parse application/json
app.use(bodyParser.json())

//定义方法
app.get('/',function(req,res){
    res.send('HellowWorld')
});


app.post('/post',function(req,res){
    console.log(req.body);
    res.send('HellowWorld')
});
  1. 定义静态资源路径文件夹(在index.js同级目录下创建一个static的放置静态资源的目录)
//定义静态资源路径文件夹
 app.use('/static',express.static('./static'));
  1. 路由的分发:定义路由后GET和POST方法全部放在路由里所以在index.js中声明路由并引用
var express = require('express');//引入express模块
var app = express();

//引入  bodyParser 方法
const bodyParser = require('body-parser');

//post 参数解析
//parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended:false}))

//parse application/json
app.use(bodyParser.json())

//路由相关
 const home = require('./router/home');//定义路由
 app.use('/home',home)//使用路由

//定义静态资源路径文件夹
 app.use('/static',express.static('./static'));

//定义方法
// app.get('/',function(req,res){
//  res.send('HellowWorld')
// });

// app.post('/post',function(req,res){
//  console.log(req.body);
//  res.send('HellowWorld')
// });

//定义端口口,此处所用为3000端口,可自行更改
var server = app.listen(3000,function(){
    var host = server.address().address;
    var port = server.address().port;

    console.log('Example app listening at http://%s:%s',host,port);
})

路由页面home.js页面(在index.js的同级router文件夹下),作用:放置“方法”

测试是否路由分发成功

const express = require('express');
const router = express.Router();

router.use((req,res,next)=>{
    next()
})

router.get('/classic/lastest',(req,res)=>{
    let result={
        err:0,
        msg:'ok',
        data:{
            "name":"wangyi",
            "age":"99",
            "type":"man",
            "title":"pi"
        }
    }
    res.send(result)
})

router.post('/',(req,res)=>{
    res.send(req.body)
})
module.exports=router;

关于所用软件: Sublime Text 3和Postman说明
Sublime Text 3(为付费软件,但可免费使用):http://www.sublimetext.com/3可在官网下载
Postman:https://www.getpostman.com/可在此处下载
关于API接口实例:https://download.csdn.net/download/qq_42275455/10657352可在此处下载,或者留言联系本人

注:!!!
顺序很重要!!!
顺序很重要!!!
顺序很重要!!!
重要的事说三遍
配置路由要放置在配置方法下
只有加载完所有方法在进入路由分发

app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json())
//路由相关
 const home = require('./router/home');
 app.use('/home',home)

作者:命名不规范者
来源:CSDN
原文:https://blog.csdn.net/qq_42275455/article/details/82690854
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇下一篇

猜你喜欢

热点阅读