首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Julia中提供静态文件?

如何在Julia中提供静态文件?
EN

Stack Overflow用户
提问于 2021-10-23 10:10:58
回答 2查看 139关注 0票数 4

我正在尝试建立一个类似于Flask的小型服务器,并希望从它提供静态文件。我的第一个想法是Genie.jl可以做到这一点,但我没有看到任何关于serving static files的明确提到(除非我错过了它)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-24 01:07:27

您可以简单地将静态文件放在创建的Genie应用程序的public文件夹中。如果你看一眼这个文件夹,你甚至会注意到Genie会自动将favicon.ico或robots.txt等标准网页文件放在那里。

考虑下面的Julia会话:

代码语言:javascript
复制
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文件夹中创建一个示例静态文件:

代码语言:javascript
复制
open("public/static_sample.txt","w") do f;println(f,"Hello world!");end

现在我们准备好测试这个机制了。这里我使用的是Julia运行的curl工具,但你可以简单地将url复制粘贴到web浏览器上:

代码语言:javascript
复制
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))
票数 4
EN

Stack Overflow用户

发布于 2021-11-10 14:53:48

使用Genie提供静态文件的最简单方法是使用这里介绍的Genie.servehttps://genieframework.github.io/Genie.jl/dev/API/genie.html#Genie.serve

代码语言:javascript
复制
julia> Genie.serve("public", 8888, async = false, verbose = true)
[ Info: Ready!
[ Info: Listening on: 127.0.0.1:8888

如果请求的文件存在,它将提供开箱即用的服务;如果不存在,它将返回404错误页面;如果路径是目录,它将查找默认提供的index.html文件。

它不会列出目录中的文件-尽管我们可以在有用的情况下添加它,作为一个选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69687130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档