# koa使用技巧 ## koa路由相关 ### 使用koa来手动实现路由 #### 不想写,太麻烦 ### 使用`koa-router`模块进行路由处理 1. **安装`koa-router`** #### **npm** ```shell npm i koa-router --save ``` #### **yarn** ```shell yarn add koa-router ``` 2. **使用`koa-router`** 首先导入`koa-router`,然后实例化`koa-router`,实例化时可以传入参数[`option`]类型为`Object`,`option`可以去[githob仓库](https://github.com/ZijianHe/koa-router)进行查询。 其中 `option.prefix` 为路由前缀 在根目录下的`app.js`文件中写入下面代码块内容. ```js const Koa = require('koa') const Router = require('koa-router') const app = new Koa() const router = new Router() router.get('/',async ctx=>{ ctx.body = 'Hello World' }) app.use(router.routes()).use(router.allowedMethods()) app.listen(3000) ``` 编辑完`app.js`后,在终端中用`node`来运行服务. ```shell node app.js ``` > [!tip] > 在浏览器中访问 [http://localhost:3000](http://localhost:3000) 可以看见一个`hello World` ,表示路由使用成功 **使用路由前缀** `koa-router`中设置路由前缀,比如用户模块下的路由为`/home/xx`形式.可以通过路由前缀来分模块写路由 在`koa-router`中路由前缀在实例化路由时用参数 `prefix`来进行设置 编辑`app.js`文件 ```js const Koa = require('koa') const Router = require('koa-router') const app = new Koa() // 传入option,设置prefix的值为home const router = new Router({ prefix: '/home' }) router.get('/',async ctx=>{ ctx.body = 'welcome to my home' }) router.get('/question',async ctx=>{ ctx.body = '没人在家' }) app.use(router.routes()).use(router.allowedMethods()) app.listen(3000) ``` 重新运行`app.js` > [!tip] > 在浏览器中访问 [http://localhost:3000/home/question](http://localhost:3000/home/question) 可以看见一个`没人在家`,表示路由前缀设置成功