相关疑难解决方法(0)

如何使用ASP.Net MVC 4在发布模式下捆绑LESS文件?

我正在尝试在我的web项目中使用LESS文件,并将MVC 4捆绑功能调用到dotLess库中以将LESS转换为CSS,然后缩小结果并将其提供给浏览器.

我在ASP.NET站点上找到了一个示例(在LESS,CoffeeScript,SCSS,Sass Bundling标题下).这给了我一个LessTransform看起来像这样的类:

public class LessTransform : IBundleTransform
{
    public void Process(BundleContext context, BundleResponse response)
    {
        response.Content = dotless.Core.Less.Parse(response.Content);
        response.ContentType = "text/css";
    }
}
Run Code Online (Sandbox Code Playgroud)

BundleConfig班上的这一行:

bundles.Add(new Bundle(
    "~/Content/lessTest", 
    new LessTransform(), 
    new CssMinify()).Include("~/Content/less/test.less"));
Run Code Online (Sandbox Code Playgroud)

最后我在_Layout.cshtml中有以下行<head>:

@Styles.Render("~/Content/lessTest")
Run Code Online (Sandbox Code Playgroud)

如果我将站点设置为调试模式,则会将其呈现给浏览器:

<link href="/Content/less/test.less" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

应用.less文件中的规则,并在该链接后显示LESS已正确转换为CSS.

但是,如果我将网站置于发布模式,则会显示出来:

<link href="/Content/less?v=lEs-HID6XUz3s2qkJ35Lvnwwq677wTaIiry6fuX8gz01" rel="stylesheet"/>
Run Code Online (Sandbox Code Playgroud)

无法应用.less文件中的规则,因为在链接后出现IIS的404错误.

所以捆绑似乎出了问题.如何让它在发布模式下工作,或者如何找出确切的错误?

bundle less asp.net-mvc-4

24
推荐指数
2
解决办法
3万
查看次数

标签 统计

asp.net-mvc-4 ×1

bundle ×1

less ×1