koa+mongodb
database 集合文件夹
node_modules各种npm包
router 接口路经
server.js入口文件
package.json 引入包信息
package-lock.json 引入包信息的详细
server.js
const Koa = require('koa'); // 引入koa
const Router = require('koa-router'); // 引入koa-router
const { send } = require('process');
const app = new Koa(); // 创建koa应用
const router = new Router(); // 创建路由,支持传递参数
const mongodb=require('mongoose')
const bodyParser = require('koa-bodyparser');//POST请求使用方法
app.use(bodyParser());
//mongoose这个模块的作用是在node环境中操作mongodb数据库 不需要在cmd窗口中操作mongodb数据库
app.use(async (ctx, next)=> {
ctx.set('Access-Control-Allow-Origin', '*');
ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
ctx.set('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
ctx.set('Content-Type','text/plain; charset=utf-8;');
if (ctx.method == 'OPTIONS') {
ctx.body = 200;
} else {
await next();
}
});
app.use(router.routes());
app.use(router.allowedMethods({
// throw: true, // 抛出错误,代替设置响应头状态
// notImplemented: () => '不支持当前请求所需要的功能',
// methodNotAllowed: () => '不支持的请求方式'
}));
const {showIndex,getLogin,contrast}= require('./router/router.js')
const db='mongodb://localhost:27017/project'
//链接数据库 如果project这个数据库不存在 就会自动创建的
mongodb.connect(db, { useNewUrlParser: true, useUnifiedTopology: true })
.then(async(res) => {
app.listen(3000, () => {
console.log('应用已经启动,http://localhost:3000');
})
})
// // 指定一个url匹配
router.get('/postx', showIndex)
router.post('/psotlogin',getLogin)
router.post('/contrast',contrast)
// router.get('/postx', async (ctx) => {
// ctx.set('Content-Type','text/plain; charset=utf-8;')
// ctx.body = result;
// })
// 启动服务监听本地3000端口
connection.js
login.js
router.js