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

Создание Powershell - компиляция SASS

Я надеюсь начать использовать SASS в проекте Visual Studio 2010 с помощью Web Workbench, но проблема управления версиями через TFS меня смутила. Чтобы избежать переопределения каких-либо изменений, я понимаю, что выводимый CSS должен быть исключен из исходного элемента управления и что SCSS должен быть скомпилирован на стороне сервера CSS во время процесса сборки. В настоящее время мы используем Powershell script для сборки, но я не могу найти никакой информации о том, как включить компиляцию SCSS в Powershell. Есть ли достойная документация в этом процессе?

4b9b3361

Ответ 1

Я думаю, что мой недостаток опыта работы с сценариями Powershell/build в целом заставил меня переоценить это. Я сделал следующие шаги:

1) Установленный Ruby для Windows отсюда: https://www.ruby-lang.org/en/documentation/installation/

2) Открыть командную строку → введено gem install ruby

3) Открытый PowerGUI Script Редактор (уже установлен, но может быть загружен здесь: http://software.dell.com/products/powergui-freeware/)

4) Создала функцию для выполнения следующего: sass -t compressed "path\sassInput.scss" "path\sassOutput.css"

И престо. Я хочу иметь способ сделать это для каждого .scss файла в каталоге, который не является частичным, но этого достаточно, чтобы начать меня сейчас.

UPDATE: Это то, что у меня получилось для Powershell script: (примечание $dirpath установлено в корневой каталог проекта в другом месте)

$stylesheetPath = $dirpath + "App_Themes\"
$files = Get-ChildItem $stylesheetPath -Filter *.scss 
for ($i=0; $i -lt $files.Count; $i++) {
    $file = $files[$i]
    $fileName = $file.BaseName
    $filePath = $file.FullName
    if (-not $fileName.StartsWith("_")) {
        $newFilePath =  "$stylesheetPath$fileName.css"
        sass -t compressed $filePath $newFilePath
    }
}

Ответ 2

Вам нужен компилятор SASS, и ваш пробег может отличаться. Оригинальный компилятор написан на Ruby, поэтому, если вы хотите его использовать, вам нужно установить Ruby, камень SASS и вызвать sass из Powershell script. Другой вариант - использовать совместимый компилятор, например SassC или C6, которым не требуется время выполнения Ruby.

Ответ 3

  • Установите Node.JS(https://nodejs.org/download/)
  • Установите Ruby для Windows (http://rubyinstaller.org/)
  • запустите npm init в каталоге проекта, чтобы создать файл packages.json.
  • установить grunt npm install grunt --save-dev (http://gruntjs.com/getting-started)
  • установить grunt-contrib-sass npm install grunt-contrib-sass --save-dev
  • создать пустой Gruntfile.js в корневом каталоге проекта
  • добавьте следующее к вашему Gruntfile.js

    module.exports = function(grunt) {
       // Do grunt-related things in here
    };
    
  • следуйте инструкциям здесь, чтобы создать задачу grunt-sass: https://github.com/gruntjs/grunt-contrib-sass  Некоторые простые примеры приведены ближе к концу readme.

  • запустите grunt из окна powershell в корневом каталоге проекта.

  • PROFIT!

этот фрагмент может помочь при добавлении этого в вашу автоматическую сборку script:

push-location c:\dev\project
grunt
pop-location