koa-nodejs基本配置

1. koa是什么

Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。

2. koa启动服务

npm init ; npm i koa;创建app.js,写如下代码;

const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
  ctx.body = 'Hello World';
});
app.listen(3000);

终端输入node app.js启动.在浏览器中打开localhost:3000

3. 配置路由以及接受参数(koa-bodyparser)

npm i koa-router;
npm i koa-bodyparser
在router文件新建index.js

const router = require('koa-router')();
const initRouter=()=>{
    router.get('/',async(ctx,next)=>{
        ctx.body = "Hello World"
        next();
    })
    router.all('/all',async(ctx,next)=>{
        ctx.body =  ctx.request.body
        //输出post请求参数
        next();
    })
    return router
}
module.exports = initRouter;

在app.js中:

const initRouter = require('./router/index')
const bodyParser = require('koa-bodyparser')
const router = initRouter();
app.use(bodyParser());
app.use(router.routes());

在get请求中后台用ctx.requset.query获取参数;
在post请求中后台用ctx.request.body获取参数;(需要npm i koa-bodyparser,记得app中导入)

4. 添加数据库

npm i mongodb;

在app.js中:

const  MongoClient = require('mongodb').MongoClient;导入包`
const initRouter = require('./routes/index');导入配置好的路由`
const router = initRouter(MongoClient);`接口需要数据库操作
app.use(router.routes());`

5. 模块封装

工具函数,业务函数,配置,(一切麻烦的都封起来)使代码更整洁,模块化,增加代码的可靠性和可维护性

6. 跨域cors

. 存在跨域的情况:
1. 网络协议不同,http访问https
2. 端口不同,80端口访问8080端口(适用于本机打开后台服务,然后再前端发送请求)
3. 域名不同.www.huiruqing.cn 访问baidu.com
处理跨域:
JSONP,nginx反向代理,服务器修改heade, document.domain , window.name ,postMessage

Koa处理跨域:npm i koa-cors ; 在app.js中导入(const cors = require('koa-cors')再 app.use(cors())

7. 设置静态文件

npm i koa-static

app.use(require('koa-static')(__dirname + "/public"))

把当前文件下的public文件设置为静态文件,可以使用localhost:3000/public/xx.jpg访问文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值