2012-05-28 29 views
9

Desde que cambié mi sitio de ASP.NET WebPages a MVC4, tengo problemas con Lesscss.Lesscss y ASP.NET MVC

CSS + Javascript líneas:

<link href="@Url.Content("~/Content/site.css")" rel="stylesheet/less" type="text/css" /> 
<script src="@Url.Content("~/Scripts/less-1.3.0.min.js")" type="text/javascript"></script> 

no tengo idea de lo que está mal. Los caminos son correctos. La hoja de estilos funciona cuando suelta el '/ menos' del enlace CSS para usarlo normalmente. Al intentar utilizar el archivo Lesscom JS, se carga bien PERO no se carga ninguna hoja de cálculo. Las herramientas de desarrollo F12 en IE también confirman que la hoja de estilos no se está cargando.

¿Alguien más ha tenido problemas similares al usar Lesscss con MVC4?

+0

Creo 'less.js' se debe cargar antes de su hoja de estilos también, su La hoja de estilos debe estar en '.less' no' .css' – Drew

+2

. Como es un proyecto .net, no se puede obtener el pago, un puerto C#. Podría ser más adecuado a tus necesidades. –

Respuesta

8

Debe especificar el tipo mime para la menor extensión de archivo en su web.config y usarlo en su enlace si css.

<system.webServer> 
    <staticContent> 
    <mimeMap fileExtension=".less" mimeType="text/css" /> 
    </staticContent > 
</system.webServer> 

Personalmente Creo que usar puntoless y procesar esto en el servidor es una mejor manera de hacerlo.

Además, no es realmente una respuesta a su pregunta, sino solo un punto aparte: con MVC4 ya no necesita @ Url.Content(). http://www.davidhayden.me/blog/asp.net-mvc-4-the-new-tilde-slash-feature-in-razor-2

24

En mi opinión, una forma sencilla de configurar esto es usar nuget. No tienes que usar nuget pero simplemente hace las cosas tan fáciles.

  1. Instalar dotless usando nuget.
  2. Instalar System.Web.Optimization.Less usando nuget.
  3. Añadir su paquete

    bundles.Add(new LessBundle("~/Content/less") 
           .Include("~/Content/less/more.less")); 
    
  4. de referencia del haz

    @Styles.Render("~/Content/less") 
    
  5. Hecho

+0

concisa y al grano. Gracias. –

+1

Finalmente, una respuesta rápida y excelente. Gracias por ahorrarme tiempo :) – jhartzell

+4

N.B. simplemente puede hacer 2. es decir, instalar System.Web.Optimization.Mess con nuget, ya que desplegará 1 como una dependencia. Gracias ! – MemeDeveloper