3

我想从 Snap 框架中的 Snaplet 提供一些静态文件。我怎么做?文档并不完全清楚。

我知道如何添加路线和东西,但我遇到了两个问题:

  1. 我需要传递什么serveDirectory来提供 snaplet 目录中的文件?
  2. 如何在我的 snaplet 的 Heist 模板中引用这些静态文件?我显然不能使用绝对 URL,因为我不知道我的 snaplet 最终安装在最终应用程序中的 URL 前缀。换句话说,我如何在 Heist 模板中获取相对于 snaplet 根 URL 的 URL?
4

1 回答 1

2

是的,serveDirectory您将使用它来提供静态文件。你可能有这样的路线:

route [("static", serveDirectory "myDir"), ...]

当您在模板中引用这些文件时,您必须使用您分配的路线。因此,如果您有一个文件myDir/foo.js,那么在模板中,您可以使用/static/foo.js.

如果您不知道 snaplet 的基本 URL,您可以使用getSnapletRootURL函数获取它。然后,您可以通过 Heist 拼接在您的模板中使用它。

于 2014-10-27T18:54:05.770 回答