Elixir 如何在phoenix框架中提供静态页面?

Elixir 如何在phoenix框架中提供静态页面?,elixir,phoenix-framework,Elixir,Phoenix Framework,我想在Phoenix框架中提供静态页面,以便在角度视图中使用它。我知道我可以提供常规HTML,但我想摆脱默认的LayoutView。我可以用一个解决方案,只保留一些Phoenix视图,这些视图不会“继承”自LayoutView。有可能吗?您可以通过在priv/static中设置一个文件并匹配插件中的路径来提供静态文件。静态选项: plug Plug.Static, at: "/", from: :hello_phoenix, gzip: false, only: ~w(css

我想在Phoenix框架中提供静态页面,以便在角度视图中使用它。我知道我可以提供常规HTML,但我想摆脱默认的
LayoutView
。我可以用一个解决方案,只保留一些Phoenix视图,这些视图不会“继承”自
LayoutView
。有可能吗?

您可以通过在
priv/static
中设置一个文件并匹配
插件中的路径来提供静态文件。静态
选项:

  plug Plug.Static,
    at: "/", from: :hello_phoenix, gzip: false,
    only: ~w(css fonts images js favicon.ico robots.txt my_fine.html)
也可以使用以下方法绕过布局:

put\u layout/2
函数也可以作为插件调用(由于函数参数)。如果希望将其应用于整个控制器,则此选项非常有用:

plug :put_layout, false

非常有帮助,谢谢。顺便说一句,对于将来的读者,plug静态配置位于/lib//endpoint.exI中。我希望从endpoint/apidocs提供index.html。我想把静态文件放在/priv/static/swagger中。我很难从上面的答案中推断出该怎么做。@raarts是的,答案的第一部分将允许您请求“/swagger/index.html”,您将获得文档,但需要文件的完整路径。我自己也在试着找出同样的事情。@raarts找到了,你想这样做。使用包含该代码的方法创建控制器,使用相对于代码库根的路径(即“/priv/static/swagger/index.html”),然后为指向该控制器方法的“/apidocs”创建获取路由。
plug :put_layout, false