搭建一个小型的koa后端开发环境

71次阅读

共计 1675 个字符,预计需要花费 5 分钟才能阅读完成。

以免忘记,慢慢丰富
初始化准备
开始开发,依旧是常规的初始化
// 初始化文件夹
npm init
// 安装 koa
npm i koa –save-dev

helloworld
还是先按照官方文档 helloword 一下,测试 koa 的正常使用。基本的文档,可以看这里 koa。
在根目录新建 app.js 文件,输入以下内容。
// 必修的 hello world 应用:

const Koa = require(‘koa’);
const app = new Koa();

app.use(async ctx => {
ctx.body = ‘Hello World’;
});

app.listen(3000);
输入命令运行
node app.js
则会在本地的 3000 端口生成一个内容为 Hello World 的页面。
这样,我们一个基本的服务就生成并且启动成功了。
正式搭建开发环境
使用路由塑造接口
有两种是很多人常用的,我最开始见到别人用的是 koa-route,也用了,但是最近发现 koa-router 是被 koa-route 推荐的,也是用的人最多的,所以两种都尝试一下。
koa-route
安装封装好的 koa-route 模块
npm i koa-route –save-dev
更改 app.js 文件,这也是官方给的例子。
const Koa = require(‘koa’);
const app = new Koa();
var _ = require(‘koa-route’);

var db = {
tobi: {name: ‘tobi’, species: ‘ferret’},
loki: {name: ‘loki’, species: ‘ferret’},
jane: {name: ‘jane’, species: ‘ferret’}
};
var pets = {
list: (ctx) => {
var names = Object.keys(db);
ctx.body = ‘pets: ‘ + names.join(‘, ‘);
},

show: (ctx, name) => {
var pet = db[name];
if (!pet) return ctx.throw(‘cannot find that pet’, 404);
ctx.body = pet.name + ‘ is a ‘ + pet.species;
}
};
app.use(_.get(‘/pets’, pets.list));

app.listen(3000);
console.log(‘listening on port 3000’);
至此一个简单的接口完成,我们可以通过浏览器访问到数据。

koa-router
来自 koa-router 的官方的例子。修改 app.js 文件
var Koa = require(‘koa’);
var app = new Koa();
var Router = require(‘koa-router’);
var router = new Router();

router.get(‘/test’, (ctx, next) => {
ctx.body = ‘Hello World!’;
});

app
.use(router.routes())
.use(router.allowedMethods());

app.listen(3001);
console.log(‘listening on port 3001’);

跨域
由于我模拟的是前后端分离的项目,即后端采用本地 3001 端口开启服务,前端采用 8081 访问页面,那么前端请求后端接口必定跨域,浏览器报错

因此我们修改设置 Access-Control-Allow-Origin:*,允许所有域名的脚本访问该资源。
app.use(async (ctx, next) => {
ctx.set(“Access-Control-Allow-Origin”, “*”);
await next();
});
重启服务即可拿取数据。

nodemon 热更新
开发中,我们当然需要在修改文件后,项目能够自动重启,方便调用,nodemon 是一个比较常见的解决方式。安装 nodemon
npm install –save-dev nodemon
使用 nodemon 来代替 node 启动服务即可
nodemon app
有大佬写了很详细的教程 koa 框架教程 - 阮一峰

正文完
 0