Dancer2-Plugin-Routing
Routing plugin for Perl Dancer2 using Dancer2::Plugin::RootURIFor
SYNOPSIS
Configuration:
plugins:
Routing:
template_key: routing
routes:
main:
route: '/'
package: MyApp
api:
route: '/api'
package: MyApp::API
moderation:
route: '/mod'
package: MyApp::Moderation
admin: '/~admin'
assets:
route: '/assets'
package: MyApp::Assets
Code:
use Dancer2;
use Dancer2::Plugin::Routing;
use Plack::Builder;
use MyApp;
...
builder {
mount routing_for('main') => MyApp->to_app if mount routing_for('main');
mount routing_for('api') => MyApp::API->to_app if mount routing_for('api');
mount routing_for('moderation') => MyApp::Moderation->to_app if mount routing_for('moderation');
mount routing_for('admin') => MyApp::Admin->to_app if mount routing_for('admin');
mount routing_for('assets') => MyApp::Assets->to_app if mount routing_for('assets');
};
...
use Dancer2;
use Dancer2::Plugin::Routing;
get '/do/stuff' => sub {
return root_redirect '/';
};
Template:
<a href="[% routing.admin %]/page">To some admin page</a>