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