[サーバ週間2]ルーティングの課題

2014 ワード

フォルダ構造は次のとおりです.
  • src
    index.ts
  • api
    index.ts
    blog.ts
    user.ts
  • src/index.ts -> src/api/index.ts -> src/api/blog.ts順に実行
    src/index.ts
    app.use('/api', require('./api'));
    src/api/index.ts
    router.use('/user', require('./user'));
    
    router.use('/blog', require('./blog'));
    src/api/blog.ts
    const router : Router = express.Router();
    
    router.get('/', (req: Request, res: Response) => {
        res.send('<h2> 블로그 </h2>');
    });
    
    このようにすると、ルーターが多くなると管理が難しくなります.例えば、/api/userにget要求が発行されると、user.tsファイルに移動するのではなくuserListtsファイルにしたい場合はapi/indexです.TSファイルでルータを見つけて直接交換する必要があります.これは非常に面倒な仕事です(そうですか...?)
    そこで、まずフォルダの構成を次のように変更します.
  • src
    index.ts

  • api
    index.ts
  • routers
    blog.ts
    user.ts
  • src/index.ts
    const apiRouter = require('./api')
    app.use('/api', apiRouter);
    src/api/index.ts
    const userRouter = require('./user')
    const blogRouter = require('./blog')
    
    router.use('/user', userRouter);
    router.use('/blog', blogRouter);
    src/api/blog.ts -> src/api/routers/blog.位置のみtsに変更した場合と同じ
    これによりapi/indexを使用できます.TSファイルのblogRouterを見つけてすぐに変更すれば、ルータを簡単に変更できます.
    このような変更が正しいかどうかはわかりませんが...まずやってみる
    参考資料
    https://devent.tistory.com/136
    https://lgphone.tistory.com/76