教程:

express安装及官方教程

http://expressjs.com/zh-cn/starter/installing.html

node+express 开发接口,项目开发+部署服务器+配置域名

https://www.jianshu.com/p/175558881f19

node.js连接mysql踩坑之路 四:使用express连接mysql

https://blog.csdn.net/Chen_sure/article/details/84144003

nodejs+express解决跨域问题

https://blog.csdn.net/hi_mydear_yuaner/article/details/88827035

1.express写接口

本地index.js写入接口,进入当前文件夹里面,使用 node index.js 跑起来

const express = require('express');
const app = express();
const bodyParser = require('body-parser');

// 允许跨域访问
app.all('*', function(req, res, next) {
   res.header("Access-Control-Allow-Origin", "*");
   res.header("Access-Control-Allow-Headers", "X-Requested-With");
   res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
   res.header("X-Powered-By",' 3.2.1');
   res.header("Content-Type", "application/json;charset=utf-8");
   next();
});

// 处理http请求,解析
app.use(bodyParser.urlencoded({ extended: false }));

// 定义变量,做为返回数据
let myPost = {method:"post",age:18,name:"lily"}
let myGet = {method:"get",age:20,name:"Jack"}

// get 请求
app.get('/',(req,res)=>{
    res.status(200);
    res.json(myGet);  // 返回处理结果
});

// post 请求
app.post('/',(req,res)=>{
    console.log(req.body);  //获取参数
    res.status(200);
    res.json(myPost);  // 返回处理结果
})

app.listen(3000, () => console.log('Example app listening on port 3000!'))

再浏览器 http://服务器:3000,输入接口路径,就可以访问了,查看接口返回记录!

2.node + express 连接 数据库

var express = require('express');
var app = express();
var mysql = require('mysql');
 
let config = {
	host: 'localhost',
	user: 'root',
	password: '******',
	database: '******'
};
 
let pool = mysql.createPool(config);
let sql = 'select * from runoob_tbl'
 
app.get('/about', function (req, res) {
    pool.getConnection((err, connection) => {
		if (err) {
			console.error(err)
		} else {
			connection.query(sql, (err, rows) => {
				if (err) {
					console.error(err)
				} else {
					res.send(rows)
				}
				connection.release()
			})
		}
	})
});
 
app.listen(3000,function(){
    console.log('express 正在监听 3000 端口')
});

在这可以通过Navicat for MySQL工具写个本地访问的数据表,然后用phpstudy搭建个环境,启动环境,然后再请求接口,不然请求链接返回的是404 nofound

3.解决接口跨域—你肯定也遇到请求接口跨域的问题了

app.all('*', function(req, res, next) {
  //设为指定的域
  res.header('Access-Control-Allow-Origin', "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  res.header('Access-Control-Allow-Credentials', true);
  res.header("X-Powered-By", ' 3.2.1');
  next();
});

放到引入express后面,接口前面