Nancy.SassAndCoffee: проблема начинается - PullRequest
0 голосов
/ 13 марта 2012

Я новичок в NancyFX и в настоящее время восхищен его непритязательным подходом к разработке веб-приложений.Окунувшись в глубокий конец, я также хочу использовать CoffeeScript и исследовать преимущества Sass .

Настройка

Чтобы включить эту комбинацию, я создал новое пустое веб-приложение, используя шаблон VS2010 (находится в проекте Nancy Accessories ).Затем я использовал VS PackageManager, чтобы Nancify моего приложения и добавить поддержку SassAndCoffee:

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

Пока все хорошо.Затем я создал папку ~ / Content / scripts и поместил туда файл с именем home.coffee , содержащий следующую строку CoffeeScript.

alert "Hello Nancy!"

Теперь все становится немного неясным.Я хочу запустить этот скрипт на клиенте, поэтому я создаю представление с именем ~ / Views / home.sshtml (и связанный NancyModule с маршрутом Get ["/"] - не показан).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.

Я надеюсь, что Нэнси каким-то волшебным образом решит, что мне нужен мой CoffeeScript, скомпилированный для JavaScript, когда он ищет указанный файл home.js и находит вместо него home.coffee .Это не сработало - так много для вдохновенных догадок.

Если я изменю тег сценария выше, чтобы указать на существующий home.coffee , тогда файл будет найден, но обработан как обычныйФайл JavaScript, содержащий ошибки, связанные с отсутствием утомительной церемонии, а именно: «неожиданная строка»

Вопрос

Теперь вы знаете мои настройки и простые требования, вот мой вопрос:

Как мне заставить CoffeeScript «просто работать» с использованием инфраструктуры NancyFX?

Спасибо

Обновление

Стивен Роббинс (ниже)ответил на этот вопрос, указав на демонстрационный код.Но на тот случай, если вы не хотите извлекать исходные МБ из GitHub, вот строки, необходимые для развития событий.Сначала добавьте класс 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 Ответ

1 голос
/ 13 марта 2012

Проект SassAndCoffee не привязывается к биту статического содержимого в Nancy, он (или что-то подобное) может появиться в будущем, но на данный момент это просто отдельный конвейер.

Если вы возьметепосмотрите на пример проекта на github:

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

Это должно показать вам, как это сделать.

...