Plack::Builder的简介和这个答案都说:
# in .psgi
use Plack::Builder;
my $app = sub { ... };
builder {
mount "/foo" => builder {
enable "Foo";
$app;
};
mount "/bar" => $app2;
mount "http://example.com/" => builder { $app3 };
};
我尝试了以下操作:
use Plack::Builder;
my $app1 = sub { return [200, ['Content-Type' => 'text/plain'], [ "Hello 1"] ]; };
my $app2 = sub { return [200, ['Content-Type' => 'text/plain'], [ "Hello 2"] ]; };
my $app3 = sub { return [200, ['Content-Type' => 'text/plain'], [ "Hello 3"] ]; };
builder {
mount "/a1" => builder { $app1 };
mount "http://myhost.com" => builder{ $app2 };
mount "/" => builder{ $app3 };
}
但是当我尝试使用plackup
运行它时,出现了以下错误:
在加载/tmp/app.psgi时出错: 路径需要以/开头, 位于/home/cw/.anyenv/envs/plenv/versions/5.20.3/lib/perl5/site_perl/5.20.3/Plack/Builder.pm 第108行。
出了什么问题?
http://myhost.com/
对应于myhost.com
上的/
;http://myhost.com
没有指定位置,只有一个主机名。 - ThisSuitIsBlackNot/
。只是文档应该更清晰。谢谢 :) - cajwine