我试图弄清楚如何在不使用任何其他框架(Phoenix,Sugar等)的情况下配置Plug.Static ;只是牛仔,即插即用药。我只是不知道如何将东西放到路由器中。 plug :match
plug Plug.Static, at: "/pub", from: :cerber
plug :dispatch
get "/" do
Logger.info "GET /"
send_resp(conn, 200, "Hello world\n")
end
Plug.Static
的声明是否在正确的位置?不应该在plug :dispatch
之后吗? index.html
? index.html
上应位于的位置
我只是失去了。
最佳答案
看一看Plug.Router docs,了解:match
和:dispatch
的工作方式。 :match
将尝试找到匹配的路由,并且:dispatch
将调用它。这意味着仅当路由器中具有匹配的路由时,才会调用设置中的Plug.Static
,这没有任何意义。您需要在所有内容之前添加plug Plug.Static
。请记住,插件只是按照声明顺序调用的函数。
除此之外,您的Plug.Static设置似乎还可以。您当前的配置将在“/pub”处转换 Assets ,这意味着“/pub/index.html”将在您的应用中查找“priv/static/index.html”。更多信息在这里:http://hexdocs.pm/plug/Plug.Static.html
关于elixir - 如何在没有Phoenix的情况下配置Plug.Static,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32543265/