# Migration Guide From `v1.x.x` to `v2.x.x`. ## Contents - [Import / Require](#import--require) - [Routes](#routes) - [Fetch](#fetch) ## Import / Require ### Before ```javascript const Router = require('@tsndr/cloudflare-worker-router') ``` ### After ```javascript import Router from '@tsndr/cloudflare-worker-router' ``` ## Routes Just add curly braces. ### Before ```javascript // Register global middleware router.use((req, res, next) => { res.headers.set('X-Global-Middlewares', 'true') next() }) // Simple get router.get('/user', (req, res) => { res.body = { data: { id: 1, name: 'John Doe' } } }) ``` ### After
// Register global middleware
router.use(({ req, res, next }) => {
  res.headers.set('X-Global-Middlewares', 'true')
  next()
})

// Simple get
router.get('/user', ({ req, res }) => {
  res.body = {
    data: {
      id: 1,
      name: 'John Doe'
    }
  }
})
## Fetch / `router.handle()` Be aware that with `v2.0.0` the parameters of `router.handle()` changed. ### Before `router.handle(request, extend = {})` ```javascript // Listen Cloudflare Workers Fetch Event addEventListener('fetch', event => { event.respondWith(router.handle(event.request)) }) ``` ### After `router.handle(env, request, extend = {})`
// Listen Cloudflare Workers Fetch Event
export default {
  async fetch(request, env, ctx) {
    return router.handle(env, request)
  }
}