2013-04-09 47 views
2

我一直在開發我的第一個Mojolicious應用程序。直到現在我一直從開發目錄運行它,但現在我想要安裝在生產服務器上。 mojo generate app產生了目錄templates /和public /我一直用來存儲模板和靜態文件。我用Dist :: Zilla創建了一個簡單的發行版,但在運行時我無法獲取模板/和public /。如何將Mojolicious應用程序部署到生產服務器上?

我提供的解決方案是將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') ; 
} 

有沒有更正式的方法來做到這一點?

回答

相關問題