Pergunta

Eu sou novo em NancyFX e atualmente fascinado por sua abordagem discreta para o desenvolvimento de aplicações web.Me jogando no fundo do poço, eu também quero usar CaféScript e investigue os benefícios Atrevido.

A configuração

Para habilitar esta combinação, criei um novo aplicativo Web vazio usando o modelo VS2010 (encontrado no Acessórios Nancy projeto).Em seguida, usei o VS PackageManager para Nancify meu aplicativo e adicionei o suporte SassAndCoffee:

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

Até agora tudo bem.Eu então criei um ~/Conteúdo/scripts pasta e lá coloquei um arquivo chamado casa.café contendo a seguinte linha de CoffeeScript.

alert "Hello Nancy!"

Agora as coisas começam a ficar um pouco confusas.Quero executar esse script no cliente, então crio uma visualização chamada ~/Views/home.sshtml (e NancyModule associado à rota Get["/"] - não mostrado).O html da view fica assim:

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

A visualização funciona bem, mas o link para o home.js file apenas retorna um 404:Não encontrado.

Espero que de alguma forma Nancy descubra magicamente que preciso do meu CoffeeScript compilado em JavaScript quando ele procurar o referenciado home.js arquivo e encontra o casa.café em vez de.Isso não funcionou - basta de suposições inspiradas.

Se eu alterar a tag de script acima para apontar para o existente casa.café em vez disso, o arquivo é encontrado, mas processado como um arquivo JavaScript normal, apresentando erros relacionados à falta de cerimônia cansativa, a saber:"sequência inesperada"

A questão

Agora que você conhece minha configuração e requisitos simples, aqui está minha pergunta:

Como faço para que o CoffeeScript 'simplesmente funcione' usando a estrutura NancyFX?

Obrigado

Atualizar

Steven Robbins (abaixo) respondeu a esta pergunta apontando para o código de demonstração.Mas caso você não queira extrair MBs de código-fonte do GitHub, aqui estão as linhas necessárias para fazer as coisas funcionarem.Primeiro adicione uma classe chamada Bootstrapper.cs ao seu projeto.Agora adicione o seguinte código (funcionou perfeitamente para mim):

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>());
    }
}
Foi útil?

Solução

O projeto SassAndCoffee não se conecta ao bit de conteúdo estático em Nancy, isso (ou algo semelhante) pode acontecer no futuro, mas no momento é apenas um gancho de pipeline separado.

Se você der uma olhada no projeto de exemplo no github:

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

Isso deve mostrar como fazer isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top