Skip to content

Mount all GET requests for text/html content types to a given KOA application

Notifications You must be signed in to change notification settings

GreenGremlin/koa-mount-html

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

koa-mount-html

NPM version Build status Dependency Status License Downloads

Catch-all mounting of koa apps and middleware for HTML GET requests.

Installation

$ npm install koa-mount-html

API

Deferred fallback for all HTML requests

const koa = require('koa');
const mountHtml = require('koa-mount-html');
const serve = require('koa-static');
const app = koa();

// with `defer: true`, koa-mount-html will only catch requests that are not
// answered by other middleware
app.use(mountHtml(function *sendHtml() {
  yield send(this, '/index.html', { root: __dirname + '/public' });
}, { defer: true }));

app.use(serve('public/static_pages'));

Webpack dev middleware - html catch-all

const koa = require('koa');
const mountHtml = require('koa-mount-html');
const webpackConfig = require('./webpack.conf');
const compiler = webpack(webpackConfig);
const publicPath = webpackConfig.output.publicPath;
const app = koa();

app.use(mountHtml(
    rewrite('/*', publicPath + '/index.html')
));

app.use(mount(
  publicPath, webpackDevMiddleware(compiler, serverOptions)
));

Options

  • defer If true, serves after yield next, allowing any downstream middleware to respond first.
  • includeDotPaths If true, then paths including a dot (i.e. '/staticPage.html') will be cought as well.

About

Mount all GET requests for text/html content types to a given KOA application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published