У меня есть небольшое приложение на основе mojolicious. И у меня есть index.html в публичном каталоге. Я хочу иметь маршрут к этому файлу, когда пользователь запрашивает «/».
Я написал два решения, но они мне не нравятся.
Первое решение - добавить простой контроллер.
sub stratup {
//...
$r->get('/')->to('general#index_html');
//...
}
package MyPackage::General;
use Mojo::Base 'Mojolicious::Controller';
use strict;
use warnings;
sub index_html {
my $self = shift;
$self->render_static('index.html');
return;
}
1;
Второе решение - добавить хук
sub startup {
my $self = shift;
$self->hook(before_dispatch => sub {
my $self = shift;
if ($self->req->url eq '/') {
$self->req->url( Mojo::URL->new('/index.html') );
}
});
Что я хочу:
$r->get('/')->to('/index.html');
или что-то вроде того.
P.S. Я знаю, что обычно это делают nginx/apache, но я использую morbo для запуска кода.