Perl/Raku简洁的Web服务器单行程序?

pvcm50d1  于 2022-11-15  发布在  Perl
关注(0)|答案(3)|浏览(155)

如果没有index.html,有没有简洁的一行程序可以快速提供页面或目录?

python3 -m http.server

找不到Raku单行程序。
比较取自https://gist.github.com/willurd/5720255https://github.com/imgarylai/awesome-webserversPerl
第一次
在使用前安装它们(Python不需要额外安装):

cpan Plack
cpan HTTP::Server::Brick

Plack引入了大量的依赖项,因此我没有继续安装,并且HTTP::Server::Brick没有安装到我的机器上,因为它的测试失败。
PerlRaku通常都被认为是一行程序中的好代码,它们都旨在提供DWIM:"try to do the right thing, depending on the context""guess ... the result intended when bogus input was provided"
因此,我希望他们--尤其是现代和丰富的Raku--提供一个与Python一样简单的web服务器单行程序。
还是我错过了什么?
如果缺少该功能,是否已计划?
如果缺少且未实施,原因是什么?

f45qwnt8

f45qwnt81#

我喜欢http_thishttps_this也可用)。
有一个恼人的缺点,它目前不支持index.html-但我有一个pull request悬而未决,以解决这一问题。
另一方面,这些程序依赖于Plack,所以也许你宁愿去别的地方看看。

nkoocmlb

nkoocmlb2#

Raku Cro需要一行来安装:
zef install --/test cro
然后设置并运行一个:
cro stub http hello hello && cro run
https://cro.services/docs/intro/getstarted开始
假设您希望提供项目子目录中的所有文件,例如hello/httpd,然后将标准的hello/lib/Routes.pm6文件调整为:
cro run查找文件更改并自动重新启动服务器
index.html工作正常
如果您的目录在项目树之外,我建议使用符号链接ln -s

olqngx59

olqngx593#

撇开你的问题中的Web服务器部分不谈,Python和Perl在哲学上是不同的,它们都是非常好的做事方式,而且每种方式都吸引不同类型的人群。

  • Python是“包含电池的”,所以它是一个重量级的发行版,包含了标准库中的许多东西。
  • Perl试图分发足够的模块来安装您认为需要的模块,这样,您就可以选择比Perl选择分发的模块更新鲜或更新的模块。

现在,对于网络服务器,你可能会喜欢Mojolicious。它是独立的(或者依赖于核心模块),所以它更容易安装。你提到的链接有Mojolicious::Lite的例子。

相关问题