YerkoPalma / service-worker-renderer

[WIP] Service worker side renderer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

service-worker-renderer

Build Status js-standard-style

Service worker side renderer

Usage

// sw.js
importScript('/.service-worker-renderer.js')

self.addEventListener('fetch', async function (event) {
  event.respondWith(
    const template = await parseTemplate('/article-template.html')
    return new Response(renderTemplate(template, state), {
      headers: {
        'Content-Type': 'text/html'
      }
    })
  )
}
// sw.js
importScript('/.service-worker-renderer.js')

// define router
self.addEventListener('install', function (event) {
  // ...
  var router = new Router()
  router.route('/', '/main-template.html')
  router.route('/article', '/article-template.html')

  self.router = router
})

self.addEventListener('fetch', function (event) {
  event.respondWith(
    return router.match(event.request.url, state)
  )
}

API

getParams

parseTemplate

renderTemplate

Router

License

MIT

About

[WIP] Service worker side renderer

License:MIT License


Languages

Language:JavaScript 100.0%