加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 路由到Mojo中的静态文件

发布时间:2020-12-16 06:13:38 所属栏目:大数据 来源:网络整理
导读:我有一个基于mojolicious的小应用程序.我在公共目录中有index.html.当用户要求’/’时,我想要有这个文件的路由. 我写了两个解决方案,但我不喜欢它们. 首先解决方案 – 添加简单控制器 sub stratup { //... $r-get('/')-to('general#index_html'); //...}pack
我有一个基于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');

或类似的东西.

附:我知道,通常使用nginx / apache,但我使用morbo来运行代码.

解决方法

你要:

$r->get('...')->to(cb => sub {  
     my $c = shift;                                   
     $c->reply->static('index.html')                
});

(只要你在Mojolicous之后5.45 2014-09-26)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读