我是新的 nancyfx ,并通过其低仪式方法来迷住于Web应用程序开发。在深夜投掷自己,我也想使用 coffeescript 并调查 sass

设置

要启用此组合,我使用VS2010模板创建了一个新的空Web应用程序(在 nancy附件项目)。然后我已经使用了VS PackAgeManager来滋养我的应用程序并添加SassandCoffee支持:

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

到目前为止这么好。然后,我创建了一个〜/ content / scripts 文件夹,并在其中放置了一个名为 home.coffee 的文件,其中包含以下COFFEEScript行。

alert "Hello Nancy!"
.

现在事情开始有点模糊。我想在客户端上运行此脚本,因此我创建一个名为〜/ views / home.sshtml (以及带有[“/”)路由 - 未显示的关联的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:未找到。

我希望在某种程度上暗示南希将在寻找javascript时,我需要我的coffeescript在查找引用的 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>());
    }
}
.

有帮助吗?

解决方案

sassandcoffee项目不挂在南希的静态内容位,它(或类似的东西)在未来可能可能是一个单独的管道钩子。

如果您查看GitHub上的示例项目:

https://github.com/nancyfx/nancy.sassandcoffee / tree / master / src / nancy.sassandcoffee.demo

应该告诉你如何结束它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top