我无法在 Nancy 中提供静态内容,例如 JavaScript。
例如使用自托管示例,我在 Views 文件夹中添加了一个 test.js 并添加了一个
<script type="text/javascript" src="test.js"></script>
标记到 staticview.html 页面。如果我在浏览器中查看此页面,则 JavaScript 会正确执行。
但是,当我运行示例时,不会执行 JavaScript。如果我在 FireBug 中查看该页面,我会看到 test.js 出现 404 错误。
我试过添加
Get["{file}"] = p =>
{
string path = string.Format("Views/{0}", p.file);
return Response.AsJs(path);
};
当我设置断点并在即时窗口中执行 Response.AsJs(path) 时,我得到 NotFound 的 StatusCode
我也尝试过添加一个 StaticContentConvention 例如
protected override void ConfigureConventions(NancyConventions conventions)
{
base.ConfigureConventions(conventions);
conventions.StaticContentsConventions.Add(
StaticContentConventionBuilder.AddDirectory("/", "Views"));
conventions.StaticContentsConventions.Add(
StaticContentConventionBuilder.AddDirectory("Views", "Views"));
}
我究竟做错了什么?