我有一个 Less 文件,其中包含一个 CSS 文件,然后是一组 Less 文件。使用 SquishIt,我想合并和缩小这些文件,但它会忽略 CSS 文件,除非我将其重命名为 .css.less。我相信 ProcessIncludes() 旨在用于此目的,但没有区别。
有谁知道为什么 ProcessIncludes() 不对链接在 Less 文件中的 CSS 文件执行任何操作?
(这是后续行动:关于 Squishit.Less 的这个问题根本不起作用,它现在适用于 Less 文件。)
dotLess 有一个名为“InlineCssFiles”的配置选项,我相信它可以满足您的需求。您可以通过在较少的预处理器上覆盖静态属性“EngineBuilder”(它是一个 Func)来使用自己的配置。所以在 App_Start 你可以做这样的事情:
LessPreprocessor.EngineBuilder = () => new EngineFactory
{
Configuration = new DotlessConfiguration
{
InlineCssFiles = true,
}
}.GetEngine();
根据LESS文档:
您可以导入 CSS 和 LESS 文件。仅处理 LESS 文件导入语句,CSS 文件导入语句保持原样。
您可以通过以下方式强制 LESS 处理 CSS 文件:
@import (less) "file.css";
但是请注意,所有这些都适用于官方 LESS 实现,并且可能不适用于 SquishIt。SquishIt似乎使用了非常过时的无点编译器。