我想知道是否有办法用 Visual Studio预编译*.less
文件(http://www.dotlesscss.org/ )。
该网站给了我一个dotless.compiler.exe
,但我不知道如何将它连接到视觉工作室。我正在为 Webforms 和 ASP.NET MVC 寻找解决方案。
我想知道是否有办法用 Visual Studio预编译*.less
文件(http://www.dotlesscss.org/ )。
该网站给了我一个dotless.compiler.exe
,但我不知道如何将它连接到视觉工作室。我正在为 Webforms 和 ASP.NET MVC 寻找解决方案。
根据您的构建环境,您可以dotless.Compiler.exe
作为构建任务启动。
例如,在 Visual Studio 中使用 Pre-Build 任务(全 1 行):
$(SolutionDir)Tools\dotLess\dotless.compiler.exe -m
$(ProjectDir)content\css\site.less $(ProjectDir)content\css\site.css
宏($(SolutionDir)
等)允许在项目和文件位置方面具有一定的灵活性。无需使用标准.less
文件,只需在标记中引用新.css
文件即可。
全部,
在使用了这里讨论的几乎所有替代方案并且不满意之后,我为 Visual Studio 编写了一个 LessCss 编译器插件。它仅在 .less 文件更改时才需要 .less 文件并生成 .css 文件。它使用最新最好的less.js 编译器。
我刚刚将它提交到 VS 扩展库。希望它很快就会出现,但同时请安装(或编译然后安装)并检查它。
菲尔·哈克来救援:http ://haacked.com/archive/2009/12/02/t4-template-for-less-css.aspx
每当您想在编译时在您的解决方案中生成某些东西时,T4 通常是要走的路...
Here's the solution I came up with, using MSBuild. It's incremental, so it should only happen when the Less changes. It also correctly handles @import
.
First, add dotless to your project with NuGet. You don't need any of the magic it adds to your web.config
, so you can revert that - you're just using it to get the compiler executable.
Next, add your "root" Less files to your .csproj
, like so:
<ItemGroup>
<LessCssRootInput Include="example.less" />
</ItemGroup>
Finally, add this snippet at the bottom of your .csproj
:
<ItemGroup>
<LessCssSubInput Include="**\*.less" Exclude="@(LessCssRootInput)" />
<LessCssOutput Include="@(LessCssRootInput -> '%(RelativeDir)\%(Filename).css')" />
</ItemGroup>
<Target Name="CompileLessCss" BeforeTargets="Compile" Inputs="@(LessCssRootInput);@(LessCssSubInput)" Outputs="@(LessCssOutput)">
<Exec Command=""$(SolutionDir)\packages\dotless.1.3.1.0\tool\dotless.compiler.exe" --minify --keep-first-comment @(LessCssRootInput)" />
</Target>
在搜索使用 DotLess 时,我还发现了这个库:
http://www.codethinked.com/post/2010/03/17/Bundler-Now-Supports-Css-And-less.aspx
将其添加到我自己的问题中,因为它可能对其他人有所帮助。
您可能想看看Chirpy。它有更多的支持,而不仅仅是 LESS。我希望我能在自己写之前找到它。
说到这一点,我还编写了一个使用 JS 文件(而不是 .NET 端口)执行的 Visual Studio 自定义构建工具,您可以在此处查看源代码:https ://github.com/paultyng/JsBuildTools
或者它也在JsBuildTools下的扩展库中。
还有另一种在开发过程中预编译的方法。
dotless 项目具有一个命令行编译器 (dotless.Compiler.exe),可以编译和缩小 CSS。
您还可以将 compiler.exe 与 --watch 参数一起使用,它将继续运行并扫描您的输入文件以查找更改,并在您对文件进行更改时重新生成。从而使您独立于 Visual Studio。