我正在尝试在运行时将.less
文件编译成css。但是dotless
库无法找到@import file.less
文件。
我的所有文件都与主要较少的文件位于同一目录中。
这是我的C#代码:
var config = new DotlessConfiguration() {
MinifyOutput = true,
ImportAllFilesAsLess = true
};
string css = Less.Parse(less,config);
我想要转换的主要文件较少:
@import "font-awesome.less";
@fa-font-path: "/fonts";
@sco_green: #63b02e;
@sco_orange: #f18500;
@blue-deep:#00a2d1;
@white: #ffffff;
@active: #ffcb8b;
@gray: #999;
@gray-dark: #525252;
@gray-middle: #b8bcba;
@gray-light: #dbdbdb;
@gray-lighter: #efefef;
@gray-super-light: #f7f7f7;
@gray20:#333;
@gray94:#F0F0F0;
Web配置:
<configSections>
<section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
</configSections>
<system.web>
<httpHandlers>
<add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" />
</httpHandlers>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" />
</handlers>
</system.webServer>
<dotless minifyCss="true" cache="true" web="false" disableParameters="true" />
错误讯息:
我怎样才能让它发挥作用?
答案 0 :(得分:1)
在谷歌搜索了几乎每一个搜索结果后,我发现了 this:
基本上我需要为dotless
设置当前工作目录才能找到@import文件:
所以我在C#中所做的就是:
string filePath = $"{_filePath}\\main.less";
string less = ReadFile(filePath);
var dotlessConfig = new dotless.Core.configuration.DotlessConfiguration();
Directory.SetCurrentDirectory(_filePath);
string css = Less.Parse(less,dotlessConfig);