如果没有index.html
,有没有简洁的一行程序可以快速提供页面或目录?
python3 -m http.server
找不到Raku
单行程序。
比较取自https://gist.github.com/willurd/5720255和https://github.com/imgarylai/awesome-webservers的Perl
:
第一次
在使用前安装它们(Python
不需要额外安装):
cpan Plack
cpan HTTP::Server::Brick
Plack
引入了大量的依赖项,因此我没有继续安装,并且HTTP::Server::Brick
没有安装到我的机器上,因为它的测试失败。Perl
和Raku
通常都被认为是一行程序中的好代码,它们都旨在提供DWIM:"try to do the right thing, depending on the context"、"guess ... the result intended when bogus input was provided"
因此,我希望他们--尤其是现代和丰富的Raku
--提供一个与Python
一样简单的web服务器单行程序。
还是我错过了什么?
如果缺少该功能,是否已计划?
如果缺少且未实施,原因是什么?
3条答案
按热度按时间f45qwnt81#
我喜欢http_this(https_this也可用)。
有一个恼人的缺点,它目前不支持
index.html
-但我有一个pull request悬而未决,以解决这一问题。另一方面,这些程序依赖于Plack,所以也许你宁愿去别的地方看看。
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
olqngx593#
撇开你的问题中的Web服务器部分不谈,Python和Perl在哲学上是不同的,它们都是非常好的做事方式,而且每种方式都吸引不同类型的人群。
现在,对于网络服务器,你可能会喜欢Mojolicious。它是独立的(或者依赖于核心模块),所以它更容易安装。你提到的链接有Mojolicious::Lite的例子。