asp.net mvc4 通过BundleTransformer.Less集成less

2 篇文章 0 订阅
2 篇文章 0 订阅
  1. 创建空的mvc4项目
  2. 安装BundleTransformer.Less Nuget包

    Install-Package BundleTransformer.Less

  3. 由于需要用到BundleCollection,我们还需要安装Microsoft.AspNet.Web.Optimization

    Install-Package Microsoft.AspNet.Web.Optimization

  4. 添加BundleConfig类,代码如下:

     public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            var csstran = new StyleTransformer();
            var nullorder = new NullOrderer();
            var css = new Bundle("~/bundles/site")
                .IncludeDirectory("~/Less", "*.less");
            css.Transforms.Add(csstran);
            css.Orderer = nullorder;
    
            bundles.Add(css);
        }
    }
  5. Application_Start 事件里注册Bundle

    BundleConfig.RegisterBundles(BundleTable.Bundles);
  6. 添加Home->Index页面, 使用@Styles.Render() 方法添加已注册的css bundle

    @{
    Layout = null;
    }
    @using System.Web.Optimization;
    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    @Styles.Render("~/bundle/site")
    </head>
    <body>
    <h1>Hello world!</h1>
    </body>
    </html>
    
  7. 添加site.less 文件

    @color-red:red;
    h1{
        color:@color-red;
    }
  8. 至此,项目结构如下:
    这里写图片描述

运行,报错如下:

这里写图片描述

这个错误是因为没有配置jsEngine造成的,我们需要先下载安装jsEngine,我们选择使用JavascriptEngineSwitcher.V8

Install-Package JavascriptEngineSwitcher.V8

然后在配置文件中配置V8

<jsEngineSwitcher xmlns="http://tempuri.org/JavaScriptEngineSwitcher.Configuration.xsd">
    <core>
      <engines>
        <add name="V8JsEngine" type="JavaScriptEngineSwitcher.V8.V8JsEngine, JavaScriptEngineSwitcher.V8" />
      </engines>
    </core>
  </jsEngineSwitcher>

最后,配置bundleTransformer使用v8
这里写图片描述

运行,大功告成,效果如下
这里写图片描述

注意,如果之前已经集成过ReactJS, 那么就不需要再安装jsEngine了,因为ReactJs 已经包含JsEngine了,可以在配置文件中直接找到如下配置:

<jsEngineSwitcher xmlns="http://tempuri.org/JavaScriptEngineSwitcher.Configuration.xsd">
    <core>
      <engines>
        <add name="MsieJsEngine" type="JavaScriptEngineSwitcher.Msie.MsieJsEngine, JavaScriptEngineSwitcher.Msie" />
        <add name="V8JsEngine" type="JavaScriptEngineSwitcher.V8.V8JsEngine, JavaScriptEngineSwitcher.V8" />
      </engines>
    </core>
  </jsEngineSwitcher>

可以直接配置使用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值