我正在尝试建立一个类似于Flask的小型服务器,并希望从它提供静态文件。我的第一个想法是Genie.jl可以做到这一点,但我没有看到任何关于serving static files的明确提到(除非我错过了它)。
发布于 2021-10-24 01:07:27
您可以简单地将静态文件放在创建的Genie应用程序的public文件夹中。如果你看一眼这个文件夹,你甚至会注意到Genie会自动将favicon.ico或robots.txt等标准网页文件放在那里。
考虑下面的Julia会话:
julia> using Genie
julia> Genie.newapp("Demo1")
...
Ready!
┌ Info: 2021-10-24 02:56:09
└ Web Server starting at http://127.0.0.1:8000在启动时,Genie自动将位置更改为web应用程序文件夹(此处为Demo1)。
让我们在Demo1/public文件夹中创建一个示例静态文件:
open("public/static_sample.txt","w") do f;println(f,"Hello world!");end现在我们准备好测试这个机制了。这里我使用的是Julia运行的curl工具,但你可以简单地将url复制粘贴到web浏览器上:
julia> run(`curl http://127.0.0.1:8000/static_sample.txt`)
Hello world!
Process(`curl http://127.0.0.1:8000/static_sample.txt`, ProcessExited(0))发布于 2021-11-10 14:53:48
使用Genie提供静态文件的最简单方法是使用这里介绍的Genie.serve:https://genieframework.github.io/Genie.jl/dev/API/genie.html#Genie.serve
julia> Genie.serve("public", 8888, async = false, verbose = true)
[ Info: Ready!
[ Info: Listening on: 127.0.0.1:8888如果请求的文件存在,它将提供开箱即用的服务;如果不存在,它将返回404错误页面;如果路径是目录,它将查找默认提供的index.html文件。
它不会列出目录中的文件-尽管我们可以在有用的情况下添加它,作为一个选项。
https://stackoverflow.com/questions/69687130
复制相似问题