10.0.0 • Published 2 days ago
router-segments v10.0.0
Why another router ?
This router take full advantages of segments, building a tree of regexp to avoid having 500 regexp calls for one route.
How to use
router-segments uses path-to-regexp for matching the route paths, also used by expressjs, koa-router and many other routers.
import { createRouterBuilder } from 'router-segments';
const builder = createRouterBuilder();
builder.add('/', ref);
builder.addSegment('/post', (segmentBuilder) => {
segmentBuilder.add('/:id(\\d+)-:slug([A-Za-z\\-]+)', ref, '/post/view');
segmentBuilder.defaultRoute(ref, '/post');
});
export default builder.createRouter();
Url Generator
router.toPath('/post/view', { id: '001', slug: 'a-slug' });
// /post/001-a-slug
Localized routes
import { createRouterBuilder } from 'router-segments';
const builder = createRouterBuilder(['en', 'fr']);
builder.add('/', ref);
builder.addLocalizedSegment(
{
en: '/my-blog',
fr: '/mon-blog',
},
(segmentBuilder) => {
segmentBuilder.addLocalized(
{
en: '/post/:id(\\d+)',
fr: '/billet/:id(\\d+)',
},
ref,
'/my-blog/post',
);
segmentBuilder.defaultRoute(ref, '/my-blog');
},
);
export const router = builder.createRouter();
API
see Definition file
10.0.0
2 days ago
9.1.0
5 months ago
9.0.0
5 months ago
8.0.0
6 months ago
7.0.1
6 months ago
7.0.0
10 months ago
6.0.0
1 year ago
5.1.1
2 years ago
5.1.0
2 years ago
5.0.0
2 years ago
4.1.3
3 years ago
4.1.2
3 years ago
4.1.1
3 years ago
4.1.0
3 years ago
4.0.0
3 years ago
3.0.0
4 years ago
2.0.0
5 years ago
2.0.0-beta.12
5 years ago
2.0.0-beta.1
5 years ago
1.2.0
6 years ago
1.1.0
7 years ago
1.0.1
7 years ago
1.0.0
7 years ago