“ mojo route”仅显示“ / * whatever * what”

时间:2019-07-08 15:00:34

标签: mojolicious

我已将具体示例从Minimal Routes复制到myapp.pl

# Application
package MyApp;
use Mojo::Base 'Mojolicious';

sub startup {
  my $self = shift;

  # Router
  my $r = $self->routes;

  # Route
  $r->get('/welcome')->to(controller => 'foo', action => 'welcome');
}

1;

运行mojo routes时,我得到

/*whatever  *  whatever

运行mojo routes myapp.pl时,我得到

/*whatever  *  whatever

mojo routes应该如何工作,当我运行mojo --help | grep -i routes时说,

routes    Show available routes

如果我运行myapp.pl routes,它什么也没显示。如示例中所示,如何获取路线清单?

1 个答案:

答案 0 :(得分:0)

复制的代码用于模块。 Mojo创建一个启动脚本。该脚本是routes命令所需的参数。用

生成一个项目
mojo generate app MyApp

然后结帐script/my_app,其中包含

#!/usr/bin/env perl                                                                                       

use strict;                                                                                               
use warnings;                                                                                             

use FindBin;                                                                                              
BEGIN { unshift @INC, "$FindBin::Bin/../lib" }                                                            
use Mojolicious::Commands;                                                                                

# Start command line interface for application                                                            
Mojolicious::Commands->start_app('MyApp');

您将看到在lib/MyApp.pm中复制的文件的代码。您将要运行

现在您可以运行

script/my_app routes
/  GET  

它将检查lib中的文件以生成路由列表。


感谢#mojo中Freenode(IRC)上的Grinnz和CandyAngel提供了支持来回答此问题。