koa
/*npm i koa
服务器启动文件
const Koa = require('koa');
// 热重载: supervisor
npm i -g supervisor
// npm i supervisor
supervisor app.js
客户端从发请求到看到内容
服务器:接收到请求(request)-> 处理请求,生成数据 -> 发送数据(response)
Koa: request -> middleware -> response
koa处理了request和response,我们需要做的是注册(编写)middleware
提供了一些好用的API
Application
Context
Request
Response
中间件处理:
1、koa-static-cache:静态文件代理服务
2、koa-router:路由
const Koa = require('koa');
const koaStaticCache = require('koa-static-cache');
const Router = require('koa-router');
const app = new Koa();
app.use( koaStaticCache( __dirname + '/static', {
prefix: '/public',
} ) );
// app.use( (ctx, next) => {
// // 下面的代码其实也是一种路由,只是特别的简单,还需要处理很多其他一些问题
// // 所以我们就使用一些已有的模板
// // console.log(ctx.URL);
// // switch(ctx.URL) {
// // case '/user':
// // break;
// // //....
// // }
// } );
const router = new Router();
// 通过 get 方式 发送 / 请求 => get http://127.0.0.1/
router.get('/', (ctx, next) => {
ctx.body = '首页';
});
// 子路由
const userRouter = new Router();
userRouter.get('/', (ctx, nect) => {
ctx.body = '用户首页'
});
userRouter.get('/address', (ctx, nect) => {
ctx.body = '用户收货地址'
});
router.use('/user', userRouter.routes());
// 子路由
const itemRouter = new Router({
prefix: '/item'
});
itemRouter.get('/add', (ctx, nect) => {
ctx.body = '添加物品';
});
// 子路由
const goodsRouter = new Router();
goodsRouter.get('/goods/:id', (ctx, nect) => {
// /list/1?order=desc
console.log( Router.url('/list', {page:1}, {query: {order:'desc'}}) );
ctx.body = '添加物品:' + ctx.params.id;
});
// router.redirect('/admin', '/user', 301);
// 把路由对象挂载到app对象中
app.use( router.routes() );
app.use( itemRouter.routes() );
app.use( goodsRouter.routes() );
// 监听当前机器的地址,端口
app.listen(80);
const Koa = require('koa');
const KoaStaticCache = require('koa-static-cache');
const KoaBodyParser = require('koa-bodyparser');
const KoaRouter = require('koa-router');
数据库的:
const Sequelize = require('sequelize'); //修改数据库的框架
两种链接方法
1、const sequelize = new Sequelize (‘账号’,‘密码’·····等等一些链接数据库的);直接链接
2、const sequelize = new Sequelize ();通过配置文件链接
const app = new Koa();
const router = new KoaRouter();
router.get('/',ctx=>{
ctx.body='....'
})
app.use( KoaStaticCache('./public', {
prefix: 'public',
gzip: true
}) );
app.use( KoaBodyParser() );
app.use( router.routes() );
app.listen(80);
在这里插入代码片