简单介绍下node+express的基本使用
1:安装node环境
2:加载express 依赖
npm install express --save
3:新建index.js 入口文件
4:具体目录结构
# 目录
- data ---------- 静态数据库
- index.js ---- 统一导出导出
- login.js ----- 具体接口内容
- list.js ----- 具体接口内容
- newsList.js ----- 具体接口内容
- config.js ----- 接口映射文件
- index.js ----- 入口文件
- router.js ----- 具体接口代码
5:具体代码如下:
config.js文件
/**
* 接口统一处理
*
*/
module.exports = {
list:"/list",
newsList:"/newsList",
login:"/login",
}
index.js
var express = require("express");
var app = express();
var router = require("./router.js")
// post方式 中间件
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
extended: true
}));
// 第一个参数是根路径 接口地址为 /list
// 如果 app.use("/api",router) 则接口地址为 /api/list
app.use("/",router);
app.listen("3002",function () {
console.log("运行在3002端口")
})
router.js
var express = require("express");
var router = express.Router();
var config = require("./config.js")
// get方式
var url = require("url");
// 数据源
var dataMsg = require("./data/index.js");
// 解决跨域
router.all(config.list, 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();
})
// get list
router.get(config.list, function (req, res) {
// id
var id = url.parse(req.url,true).query.id;
if(id){
res.send(dataMsg.list.filter(function(item){
return item && item.id == id;
}))
}else{
res.send(dataMsg.list);
}
})
// 解决跨域
router.all(config.newsList, 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();
})
router.get(config.newsList,function(req,res){
// id
var id = url.parse(req.url,true).query.id;
res.send(dataMsg.newsList.filter(function(item){
return item && item.id == id;
}))
})
// http://localhost:3002/newsList?id=1001
// post方式
router.post(config.login, function(req, res) {
var password = req.body.password;
var username = req.body.username;
dataMsg.loginList.filter(function (item) {
if(item && item.username == username && item.password == password){
res.send([item])
}else{
res.send([{
code:001,
codeMsg:"账号或者密码错误"
}])
}
})
});
module.exports = router;
静态资源数据 data 如下:
// index.js
var list = require("./list.js")
var newsList = require("./newsList.js")
var loginList = require("./login.js")
module.exports = {
list : list,
newsList : newsList,
loginList : loginList
}
// login.js 文件
module.exports = [
{
id:"001",
username:"ks",
password:"123"
},
{
id:"002",
username:"rxm",
password:"1234"
},
{
id:"003",
username:"ky",
password:"12345"
}
]
大家安装上述代码进行文件创建复制,基本就可以完成最基本的express 使用了