server-render
v1.0.2
Published
HTML server rendering middleware
Downloads
11
Readme
server-render
HTML server rendering middleware. Detects if an incoming request is requesting
text/html
and calls a function to render the corresponding response.
Usage
Assuming the client is a choo app:
const render = require('server-render')
const merry = require('merry')
const client = require('./client')
const app = merry()
app.use(render((route) => client.toString(route)))
app.start()
Caching
Sometimes you know the paths you're going to render up front, and want to cache them in a Node buffer so the reponse times are as fast as they can be.
const cache = require('server-render/cache')
const render = require('server-render')
const merry = require('merry')
const client = require('./client')
const routes = {
default: '/404',
routes: [ '/', '/bar', '/bar/baz', '/bar/:foobar' ]
}
const app = merry()
app.use(cache(routes, (route) => client.toString(route)))
app.start()
API
middleware = render(handler(route))
Create a new render function that takes a callback and returns a middleware
function. The callback should return a string synchronously. The middleware
function has the signature of (req, res, next)
.
middleware = cache(routes, handler(route))
Cache routes into Node buffers. Takes an object containing a .routes
array
of routes, and a .default
value for the default route to match if no other
routes could be matched.
Installation
$ npm install server-render