2013-03-22 3 views
2

ад всех,Добавить статический каталог для Mojo Lite App

Я пытаюсь добавить общий статический каталог мое приложение Mojo Lite, но это, кажется, не сделать трюк.

use Mojolicious::Lite; 
use Mojolicious::Static; 

# Documentation browser under "/perldoc" 
plugin 'PODRenderer'; 

my $static = Mojolicious::Static->new; 

push @{$static->paths}, '/my/path; 

Любые идеи?

ответ

3

Это работает:

my $static = app->static(); 

push @{$static->paths}, '/my/path'; 
4

Вы можете добавить абсолютный путь, как вы делаете в ответ:

push @{app->static->paths}, '/my/abs/path'; 

вы можете также добавить путь относительно домашней директории вашего приложения (это как the default is setup):

push @{app->static->paths}, app->home->rel_dir('my/rel/path'); 

по умолчанию, есть папка под названием public в домашнем пути вашего приложения. Если вы это сделаете, приложение будет использовать его из коробки. Read more here.

+0

Возможно, более безопасно перезаписывать значение по умолчанию, если оно вам не нужно? Я сделал это так (возможно, есть более элегантный синтаксис, но '->' все еще экспериментальный afaik): '$ {app-> static-> paths} [0] = $ public_dir;' –

+0

Как '->' экспериментальные? 'app-> static-> paths -> [0] = $ public_dir;' будет работать, чтобы заменить значение по умолчанию. Если вы хотите быть более уверенным, что новый каталог является единственным, вы можете использовать 'app-> static-> paths ([$ public_dir]);'. Тем не менее, ОП сказал «добавить», поэтому все, что я сделал, было добавлено. –

+0

'rel_dir' был переименован в' rel_file' – orev

Смежные вопросы