Visual Studio - Превосходное - безжалостно
-
24-09-2019 - |
Вопрос
Интересно, есть ли способ прекомпилировать *.less
Файлы (http://www.dotlesscss.org/) с визуальной студией.
Сайт дает мне dotless.compiler.exe
Но я не уверен, как подключить это к Visual Studio. Я ищу решение для WebForms и ASP.NET MVC.
Решение
В зависимости от вашей среды сборки, вы можете отключить dotless.Compiler.exe
как задача сборки.
Например, используя задачу предварительной сборки в Visual Studio (все 1 строка):
$(SolutionDir)Tools\dotLess\dotless.compiler.exe -m
$(ProjectDir)content\css\site.less $(ProjectDir)content\css\site.css
Макросы ($(SolutionDir)
, и т. Д.) Разрешить немного гибкости для проекта и местоположений файлов. Вместо того, чтобы использовать стандарт .less
Файлы, просто ссылаетесь на новый .css
Файлы в вашей разметке.
Другие советы
Все,
После использования практически обо всех альтернативах обсуждаются здесь и не удовлетворены, я написал Addin компилятора StreetCss для Visual Studio. Это принимает бессмысленные файлы и генерирует файлы .css только при изменении файла. Он использует последний и самый большой компилятор меньше.
Загрузите подписанное расширение.
Я только что представил его в галерею расширения VS. Надеюсь, скоро будет там скоро, но в то же время, пожалуйста, установите (или компилируйте, затем установите) и проверьте его.
Фил Хак в спасение: http://haacked.com/Archive/2009/12/02/t4-template-for-less-cs.aspx.aspx.
Всякий раз, когда вы хотите иметь что-то сгенерированное в вашем решении во время компиляции, T4 обычно является способом ...
Вот решение, с которым я придумал, используя MSBuild. Это инкрементно, поэтому оно должно происходить только тогда, когда меньше изменений. Это также правильно обрабатывает @import
.
Во-первых, добавьте безжалостно к вашему проекту с Nuget. Вам не нужна никакая волшебница, которую он добавляет к вашему web.config
, Таким образом, вы можете вернуть это - вы просто используете его, чтобы получить исполняемый файл компилятора.
Далее добавьте свой «root» меньше файлов на ваш .csproj
, вот так:
<ItemGroup>
<LessCssRootInput Include="example.less" />
</ItemGroup>
Наконец, добавьте этот фрагмент в нижней части вашего .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>
Есть также другой способ прекомпилировать во время развития.
Проект без TOTLESS имеет Commandline Compiler (Doteless.comPiler.exe), который может компилировать и министвовать CSS.
Вы также можете использовать Compiler.exe с параметром «watch », где он будет продолжать работать и отсканировать свой входной файл для изменений, регенерирования всякий раз, когда вы вносите изменения в файл. Таким образом, делая вас независимым от Visual Studio.
В моем поиске работы с Towless я также нашел эту библиотеку:
http://www.codethinked.com/post/2010/03/17/bundler-now-supports-csss-and-less.aspx.
Добавляя его на свой вопрос, потому что это может помочь другим.
Вы можете взглянуть на Щарпина. Отказ Он имеет гораздо большую поддержку, чем чуть меньше. Хотел бы я нашла бы его до самостоятельного письма.
Говоря о которых я также написал инструмент сборки Visual Studio Custom, который выполняет с помощью файла JS (вместо порта .NET), вы можете взглянуть на источник здесь: https://github.com/paultyng/jsbuildtools.
Или это также на галерее расширений под Jsbuildtools..