我想从 Snap 框架中的 Snaplet 提供一些静态文件。我怎么做?文档并不完全清楚。
我知道如何添加路线和东西,但我遇到了两个问题:
- 我需要传递什么
serveDirectory
来提供 snaplet 目录中的文件? - 如何在我的 snaplet 的 Heist 模板中引用这些静态文件?我显然不能使用绝对 URL,因为我不知道我的 snaplet 最终安装在最终应用程序中的 URL 前缀。换句话说,我如何在 Heist 模板中获取相对于 snaplet 根 URL 的 URL?
我想从 Snap 框架中的 Snaplet 提供一些静态文件。我怎么做?文档并不完全清楚。
我知道如何添加路线和东西,但我遇到了两个问题:
serveDirectory
来提供 snaplet 目录中的文件?是的,serveDirectory
您将使用它来提供静态文件。你可能有这样的路线:
route [("static", serveDirectory "myDir"), ...]
当您在模板中引用这些文件时,您必须使用您分配的路线。因此,如果您有一个文件myDir/foo.js
,那么在模板中,您可以使用/static/foo.js
.
如果您不知道 snaplet 的基本 URL,您可以使用getSnapletRootURL函数获取它。然后,您可以通过 Heist 拼接在您的模板中使用它。