我正在尝试使用mojolicious来制作我的第一个应用程序,并且我遇到了一些路由问题。我有一个有角度的应用程序,我只想实现它,并在我的网络werver上工作。所以我有一个" app / index.html"文件,但我不知道当我喜欢这个地址" / appAngular"时,如何让我的网络服务器指向它。
即使它看起来很基本,我也找不到任何东西,所以如果你能提供帮助,我将不胜感激。
答案 0 :(得分:1)
如果您使用默认设置正确启动了Web服务器,则您的浏览器将使用网络服务器的ip指向x.x.x.x:3000。 Mojolicious附带一个登陆页面,您可以在公共场所添加.html文件,这些文件也将被提供。因此,如果您的角度应用程序已经构建完毕,整个结构将需要公开,您需要删除在新的mojolicious应用程序下提供的默认模板,应该看起来像这样:
get '/' => sub {
my $c = shift;
$c->render(template => 'index');
};
重新开始的命令:
mojo generate lite_app myapp
mkdir public
<copy your angular app into new directory public>
<delete default route>
morbo myapp
答案 1 :(得分:0)
您必须将index.html页面指向Mojolicious中的静态页面。 例如在完整应用中:
在应用内:
<p>
上面的妙语是:
package MojoNg4;
use Mojo::Base 'Mojolicious';
use Mojo::SQLite;
# This method will run once at server start
sub startup {
my $self = shift;
# Load configuration from hash returned by "my_app.conf"
my $config = $self->plugin('Config');
$self->plugin('PODRenderer') if $config->{perldoc};
if (my $secrets = $self->config->{secrets}) {
$self->secrets($secrets);
}
$self->hook(
before_dispatch => sub {
my $c = shift;
$c->res->headers->header('Access-Control-Allow-Origin' => '*');
}
);
$self->helper( dbh => sub {state $dbh = Mojo::SQLite->new('sqlite:db/mojo-ng.db') });
$self->plugin(Minion => {SQLite => $self->dbh});
$self->plugin('Minion::Admin');
push @{$self->static->paths} => '/Users/Sachin/workspace/project/mojo_ng4/public/Demo';
# Router
my $r = $self->routes;
$r->get('/Demo/hello')->to('Demo#hello');
# Normal route to controller
#$r->get('/Demo/index.html')->to('Demo#index');
#$r->get('/Demo')->to('Demo#index');
}
1;
在控制器中:
push @{$self->static->paths} => '/Users/Sachin/workspace/project/mojo_ng4/public/Demo';
魔术线是:
package MojoNg4::Controller::Demo;
use Mojo::Base 'Mojolicious::Controller';
# This action will render a template
sub index {
my $self = shift;
# render demo app index page. rest of the routes will be taken care by
# angular4
$self->reply->static('Demo/index.html');
}
1;
我有一个git回购,演示了如何使用Mojolicious提供有角度的项目。请看一看: https://github.com/tryorfry/mojolicious-ng4