我的koa学习记录

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);
在这里插入代码片
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值