我希望在使用Web Workbench的Visual Studio 2010项目中开始使用SASS - 但是通过TFS进行版本控制的问题令我感到难过。为了避免覆盖其他人的更改,我了解输出的CSS应该从源代码控制中排除,并且在构建过程中应该将SCSS编译到CSS服务器端。目前我们使用Powershell脚本进行构建,但我似乎无法找到有关如何在Powershell中合并SCSS编译的任何信息。这个过程中有没有合适的文件?
答案 0 :(得分:3)
我认为我对Powershell /构建脚本缺乏一般经验让我无法理解这一点。我采取了以下步骤:
1)从这里安装Ruby for Windows:https://www.ruby-lang.org/en/documentation/installation/
2)打开命令提示符 - >已输入gem install ruby
3)打开PowerGUI脚本编辑器(已安装,但可在此处下载:http://software.dell.com/products/powergui-freeware/)
4)创建了一个执行以下功能的函数:sass -t compressed "path\sassInput.scss" "path\sassOutput.css"
并且presto。我确实希望有一种方法可以为目录中的每个.scss文件执行此操作,但这已经足够让我现在开始。
更新:
这是我为Powershell脚本最终得到的结果:(注意$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
}
}
答案 1 :(得分:1)
您需要一个SASS编译器,您的里程可能会有所不同。原始编译器是用Ruby编写的,因此,如果要使用它,则必须安装Ruby,SASS gem并从Powershell脚本中调用sass
。
另一个选择是使用不需要Ruby运行时的兼容编译器,如SassC或C6。
答案 2 :(得分:0)
我有同样的问题。 U之所以拥有此文件,是因为Powershell限制了可执行策略。 您可以下一步: 0.安装 node.js,npm , node-sass
Get-ExecutionPolicy
制定政策
您会看到受限制的 Get-ExecutionPolicy -List
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
使用node-sass -w ./input.scss ./output.css
此外,U可以阅读更多here
答案 3 :(得分:-1)
npm init
以创建packages.json文件。npm install grunt --save-dev
(http://gruntjs.com/getting-started)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 自述文件末尾附近提供了一些简单示例。
从项目根目录中的PowerShell窗口运行grunt
。
PROFIT!
将此代码添加到自动构建脚本时,此代码段可能会有所帮助:
push-location c:\dev\project
grunt
pop-location