Pregunta

soy nuevo en NancyFX y actualmente cautivado por su enfoque sencillo hacia el desarrollo de aplicaciones web.Lanzándome al fondo, también quiero usar CaféScript e investigar los beneficios de Hablar con descaro a.

La puesta en marcha

Para habilitar esta combinación, he creado una nueva aplicación web vacía usando la plantilla VS2010 (que se encuentra en la Accesorios nancy proyecto).Luego utilicé VS PackageManager para Nancify mi aplicación y agregué el soporte de SassAndCoffee:

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

Hasta ahora, todo bien.Luego creé un ~/Contenido/guiones carpeta y ahí he colocado un archivo llamado casa.cafe que contiene la siguiente línea de CoffeeScript.

alert "Hello Nancy!"

Ahora las cosas empiezan a ponerse un poco confusas.Quiero ejecutar este script en el cliente, así que creo una vista llamada ~/Vistas/home.sshtml (y NancyModule asociado con la ruta Get["/"] - no se muestra).El html de la vista se ve así:

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

La vista funciona bien, pero el enlace al hogar.js El archivo simplemente devuelve un 404:Extraviado.

Espero que de alguna manera Nancy se dé cuenta mágicamente de que necesito mi CoffeeScript compilado en JavaScript cuando busque el archivo referenciado. hogar.js archivo y encuentra el casa.cafe en cambio.Esto no funcionó, hasta aquí las conjeturas inspiradas.

Si cambio la etiqueta de secuencia de comandos anterior para que apunte a la existente casa.cafe en lugar de eso, el archivo se encuentra pero se procesa como un archivo JavaScript normal, lo que genera errores relacionados con la falta de una ceremonia tediosa, a saber:"cadena inesperada"

La pregunta

Ahora que conoce mi configuración y mis requisitos simples, aquí está mi pregunta:

¿Cómo consigo que CoffeeScript "simplemente funcione" usando el marco NancyFX?

Gracias

Actualizar

Steven Robbins (abajo) respondió esta pregunta señalando el código de demostración.Pero en caso de que no quieras extraer MB de código fuente de GitHub, aquí tienes las líneas necesarias para que todo funcione.Primero agregue una clase llamada Bootstrapper.cs a su proyecto.Ahora agregue el siguiente código (funcionó de maravilla para mí):

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

Solución

El proyecto SassandCoffee no se engancha en la broca de contenido estático en Nancy, es (o algo similar) en el futuro, pero en este momento es solo un gancho de tubería separado.

Si echa un vistazo al proyecto de muestra en GitHub:

https://github.com/nancyfx/Nancy.SassandCoffee / Tree / Master / SRC / Nancy.SassandCoffee.DEMO

Eso debería mostrarle cómo subir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top