Nancy.SassAndCoffee:麻烦入门

时间:2012-03-13 14:01:33

标签: coffeescript sass nancy

我是NancyFX的新手,并且目前因其对网络应用程序开发的低礼仪方式而着迷。我深深地投入自己,我也想使用CoffeeScript并调查Sass的好处。

设置

要启用此组合,我已使用VS2010模板(位于Nancy Accessories项目中)创建了一个新的空Web应用程序。然后我使用VS PackageManager对我的应用程序进行Nancify并添加SassAndCoffee支持:

PM> Install-Package Nancy
PM> Install-Package Nancy.SassAndCoffee

到目前为止一切顺利。然后我创建了一个〜/ Content / scripts 文件夹,在那里我放置了一个名为 home.coffee 的文件,其中包含以下的CoffeeScript行。

alert "Hello Nancy!"

现在情况开始有点模糊了。我想在客户端上运行此脚本,因此我创建了一个名为〜/ Views / home.sshtml 的视图(以及与Get [“/”]路由关联的NancyModule - 未显示)。视图的html如下所示:

<head>
    <title>Hello Nancy</title>
    <script type="text/javascript" src="/content/scripts/home.js"></script>
</head>
<body>
    <p>Hello @Model.User</p>
</body>
</html>

视图工作得很好但是 home.js 文件的链接只返回404:Not Found。

我希望Nancy能够神奇地解决我在找到引用的 home.js 文件并找到 home.coffee 相反。这不起作用 - 非常适合灵感的猜测。

如果我将上面的脚本标记更改为指向现有的 home.coffee ,则会找到该文件,但会将其作为普通的JavaScript文件进行处理,从而提供有关缺乏令人厌倦的仪式的错误:“意外字符串“

问题

现在您了解我的设置和简单要求,这是我的问题:

如何使用NancyFX框架让CoffeeScript“正常工作”?

谢谢

更新

Steven Robbins(下方)通过指向演示代码回答了这个问题。但是,如果你不想从GitHub中提取MB的源代码,那么这里就是需要的东西。首先在项目中添加一个名为Bootstrapper.cs的类。现在添加以下代码(它对我来说就像一个魅力):

public class Bootstrapper : DefaultNancyBootstrapper
{
    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        base.ApplicationStartup(container, pipelines);
        StaticConfiguration.DisableErrorTraces = false;
        Hooks.Enable(pipelines, new InMemoryCache(), container.Resolve<IRootPathProvider>());
    }
}

1 个答案:

答案 0 :(得分:1)

SassAndCoffee项目没有挂钩到Nancy中的静态内容位,它(或类似的东西)可能在未来,但目前它只是一个单独的管道挂钩。

如果你看一下github上的示例项目:

https://github.com/NancyFx/Nancy.SassAndCoffee/tree/master/src/Nancy.SassAndCoffee.Demo

这应该告诉你如何实现目标。