와 코아 - 라우터를 분리, 그래서 그들은 다음과 같이 결합하는 방법 :타이프 라이터
라우터/homeRouter.ts
import * as Router from 'koa-router';
const router: Router = new Router();
router
.get('/', async (ctx, next) => {
ctx.body = 'hello world';
});
export = router;
라우터/userRouter 내 app.ts이와
import * as Router from 'koa-router';
import UserController = require('../controller/userController');
const router: Router = new Router(
{
prefix: 'users'
}
);
var userController = new UserController();
router
.post('/user/:email/:password', userController.signUp);
export = router;
.TS는 다음과 같이 하나 라우터의 각 하나를 가져올 수있다 :
는
import * as Koa from 'koa';
import * as homeRouter from './routers/homeRouter';
import * as userRouter from './routers/userRouter';
const app: Koa = new Koa();
app
.use(homeRouter.routes())
.use(homeRouter.allowedMethods());
app
.use(userRouter.routes())
.use(userRouter.allowedMethods());
app.listen(3000);
을 app.ts하지만 내가 원하는 것은 이것이다 : 나는에 라우터를 내보내는 방법을 모르는
import * as Koa from 'koa';
import * as routers from './routers';
const app: Koa = new Koa();
app
.use(routers.routes())
.use(routers.allowedMethods());
app.listen(3000);
app.ts 이것을 달성하십시오. 누구든지 도와 줄 수 있습니까? ,
userRouter.ts
import * as Router from 'koa-router';
const router = new Router();
router.get('/', list);
...
export default router.routes();
routes.ts
import * as Router from 'koa-router';
import UserRouter from './userRouter';
import HomeRouter from './homeRouter';
const apiRouter = new Router({ prefix: '/api'});
apiRouter.use('/users', UserRouter);
apiRouter.use('/home', HomeRouter);
export default apiRouter.routes();
당신이했던 것처럼 당신은 개별적으로 각각의 라우터를 구현할 수 있습니다
나는 잠시 뒤로이 유틸리티를 썼다. 궁금한 점을 들어서이 [answer] (https://stackoverflow.com/a/39301972/4033215)에서 이야기했다. – saadq
@saadq bit Typescript로 어떻게 할 수 있습니까? –