【问题标题】:Output .less as .css when EnableOptimizations=false当 EnableOptimizations=false 时将 .less 输出为 .css
【发布时间】:2014-09-01 07:45:00
【问题描述】:

我有以下 ASP.NET MVC 包:

var lessBundle = new Bundle("~/bundles/common.css");

lessBundle.Include("~/CSS/Header.less",
                   "~/CSS/Footer.less");

lessBundle.Transforms.Add(new LessTransform());

bundles.Add(lessBundle);

BundleTable.EnableOptimizations = true 按预期捆绑在一起时,输出为:

<link href="/bundles/common.css?v=xxxx-xxxx-xxxx-xxxx" rel="stylesheet"/>

BundleTable.EnableOptimizations = false时输出为:

<link href="/CSS/Header.less" rel="stylesheet"/>
<link href="/CSS/Footer.less" rel="stylesheet"/>

有没有办法改变它,使文件扩展名显示为.css 而不是.less

因此:

<link href="/CSS/Header.css" rel="stylesheet"/>
<link href="/CSS/Footer.css" rel="stylesheet"/>

【问题讨论】:

  • 嘿Curt,你还在寻找这个问题的答案吗?

标签: css asp.net-mvc less bundling-and-minification dotless


【解决方案1】:

EnableOptimizations 设置为false 时,我认为您无法更改文件扩展名,如documentation 所述...

除非 EnableOptimizations 为 true 或 Web.config 文件中的编译元素中的 debug 属性设置为 false,否则不会捆绑或缩小文件。此外,不会使用 .min 版本的文件,将选择完整的调试版本。 EnableOptimizations 会覆盖 Web.config 文件中编译元素中的调试属性

这意味着编译模式和EnableOptimizations 属性将定义这些资源是否会被捆绑和缩小。在您的情况下,当您将 EnableOptimizations 设置为 false 时,优化引擎不会对这些资源进行任何转换,并完全按照您在此处定义的内容呈现它们...

lessBundle.Include("~/CSS/Header.less",
               "~/CSS/Footer.less");

因此输出 html(在 razor 的帮助下)将呈现以下链接...

<link href="/CSS/Header.less" rel="stylesheet"/>
<link href="/CSS/Footer.less" rel="stylesheet"/>

这是默认行为,如果您不想做任何花哨的事情,没有什么可以阻止您查看asp.net stack...谢天谢地,它是开源的并实现了您想要的行为

更新

其实优化框架的Source是一个单独的扩展,你可以找到here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2015-04-07
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    相关资源
    最近更新 更多