Package Exports
- koa-add-trailing-slashes
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (koa-add-trailing-slashes) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
koa-add-trailing-slashes
Koa middleware that adds trailing slashes on an URL.
Notice: koa-add-trailing-slashes@2 supports koa@2; if you want to use this module with koa@1, please use koa-add-trailing-slashes@1.
Installation
npm install koa-add-trailing-slashes
API
const Koa = require('koa');
const app = new Koa();
app.use(require('koa-add-trailing-slashes')(opts));
opts
options object.
Options
index
- Default file name, defaults to 'index.html'. Will automatically add slashes to folders that contain this index file, expected to be used withkoa-static
. Defaults toindex.html
.defer
- If true, serves after yield next, allowing any downstream middleware to respond first. Defaults totrue
.chained
- If the middleware should continue modifying the url if it detects that a redirect already have been performed. Defaults totrue
.
Example
const Koa = require('koa');
const addTrailingSlashes = require('koa-add-trailing-slashes');
const app = new Koa();
app.use(addTrailingSlashes());
app.use(ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
Important
Make sure this is added before an eventual koa-static middleware to make sure requests to files are not changed and managed correctly. This because it will not rewrite the URL if a body
has been set along with status 200
. Once exception to this is if the body
is the index file described above, to make sure a trailing slash is added to the end of a folder that serves the index file.
If all paths always should be rewritten one can set defer
to false
.
Example
If the url in the browser is /foo
and koa-static
resolves that to foo/index.html
internally along with opts.index
matching the filename, in this case index.html
, the path will end up as /foo/
.
License
MIT