我一直在开发我的第一个Mojolicious应用程序。直到现在我一直在从开发目录运行它,但现在我想在生产服务器上安装。 mojo generate app
生成了目录templates /和public /,我一直用它来存储模板和静态文件。我使用Dist :: Zilla创建了一个简单的发行版,但是在运行时我无法获得templates /和public /。
我带来的解决方案是将templates /和public /移动到一个新目录share /中,让File :: ShareDir(或Dist :: Zilla的ShareDir插件)选择它,以便我可以配置相应的我的* _mode方法中的路径:
sub development_mode{
my $app = shift;
push @{$app->static->paths}, rel2abs(catdir('share', 'public') );
push @{$app->renderer->paths}, rel2abs(catdir('share', 'templates') );
}
sub production_mode{
my $app = shift;
push @{$app->static->paths}, catdir(dist_dir('FooBar'), 'public') ;
push @{$app->renderer->paths}, catdir(dist_dir('FooBar'), 'templates') ;
}
有更正式的方法吗?