Подтвердить что ты не робот

Визуальная студия - прекомпиляция - без ограничений

Интересно, есть ли способ прекомпилировать файлы *.less (http://www.dotlesscss.org/) с визуальной студией.

Сайт дает мне dotless.compiler.exe, но я не уверен, как подключить его к визуальной студии. Я ищу решение как для Webforms, так и для ASP.NET MVC.

4b9b3361

Ответ 1

В зависимости от вашей среды сборки вы можете запустить dotless.Compiler.exe в качестве задачи сборки.

Например, используя задачу Pre-Build в Visual Studio (все 1 строка):

$(SolutionDir)Tools\dotLess\dotless.compiler.exe -m 
    $(ProjectDir)content\css\site.less $(ProjectDir)content\css\site.css

Макросы ($(SolutionDir) и т.д.) позволяют немного гибко проектировать и размещать файлы. Вместо использования стандартных файлов .less просто ссылайтесь на новые файлы .css в вашей разметке.

Ответ 2

Все,

После использования почти всех альтернатив, обсуждаемых здесь и не удовлетворяющих, я написал добавление компилятора LessCss для Visual Studio. Он принимает файлы .less и генерирует файлы .css только при изменении файла .less. Он использует последний и самый большой компилятор less.js.

Смотрите здесь, чтобы использовать здесь.

Загрузите подписанное расширение.

Исходный код здесь.

Я только что отправил его в галерею расширения VS. Надеюсь, он скоро появится, но в то же время, пожалуйста, установите (или скомпилируйте, затем установите) и проверьте его.

Ответ 4

Вот решение, с которым я столкнулся, используя MSBuild. Он поэтапный, поэтому это должно произойти только тогда, когда изменяется Less. Он также правильно обрабатывает @import.

Во-первых, добавьте в проект NutGet без ограничений. Вам не нужно какое-либо волшебство, которое он добавляет к вашему 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="&quot;$(SolutionDir)\packages\dotless.1.3.1.0\tool\dotless.compiler.exe&quot; --minify --keep-first-comment @(LessCssRootInput)" />
</Target>

Ответ 5

Существует также другой способ прекомпиляции во время разработки.

В бесчисленном проекте представлен компилятор командной строки (dotless.Compiler.exe), который может скомпилировать и минимизировать CSS.

Вы также можете использовать compiler.exe с параметром --watch, где он будет продолжать работать и сканировать ваш входной файл для изменений, регенерируя всякий раз, когда вы вносите изменения в файл. Таким образом, вы будете независимы от Visual Studio.

Ответ 7

Вы можете посмотреть Chirpy. Он имеет гораздо большую поддержку, чем просто МЕНЬШЕ. Хотелось бы, чтобы я нашел его, прежде чем писать свои собственные.

Говоря о том, что я также написал Visual Studio Custom Build Tool, который выполняется с использованием JS файла (вместо порта .NET), вы можете посмотреть источник здесь: https://github.com/paultyng/JsBuildTools

Или он также находится в галерее расширений под JsBuildTools.