Fixing dotless @import Fast!

Working in a project I had a problem when using @import with my files .less together with dotless and the LessTransform. I search in the Web and found some solutions but that didn’t work because I had some build errors. So I decide explore the Less.Parse and found the DotLessConfiguration, and did a really easy (3 steps) solution since I knew my folder path (/Content). See below.

The version I’m using is dotless 1.4.4.0. The steps are:

1) Create the class LessPathResolver

public class LessPathResolver : IPathResolver
{
    public string GetFullPath(string path)
    {
        return HttpContext.Current.Server.MapPath("~/Content/" + path);
    }
}

2) Create the class LessFileReader

public class LessFileReader : FileReader
{
    public LessFileReader()
    {
        this.PathResolver = new LessPathResolver();
    }
}

3) Create the class LessTransform

public class LessTransform : IBundleTransform
{
    public void Process(BundleContext context, BundleResponse response)
    {
        var config = new dotless.Core.configuration.DotlessConfiguration();
        config.LessSource = typeof(LessFileReader);
        response.Content = Less.Parse(response.Content, config);
    }
}

This is it!!

Anúncios
Fixing dotless @import Fast!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s