Powershell构建 - 编译SASS

时间:2015-05-11 14:39:51

标签: css powershell tfs sass

我希望在使用Web Workbench的Visual Studio 2010项目中开始使用SASS - 但是通过TFS进行版本控制的问题令我感到难过。为了避免覆盖其他人的更改,我了解输出的CSS应该从源代码控制中排除,并且在构建过程中应该将SCSS编译到CSS服务器端。目前我们使用Powershell脚本进行构建,但我似乎无法找到有关如何在Powershell中合并SCSS编译的任何信息。这个过程中有没有合适的文件?

4 个答案:

答案 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运行时的兼容编译器,如SassCC6

答案 2 :(得分:0)

我有同样的问题。 U之所以拥有此文件,是因为Powershell限制了可执行策略。 您可以下一步: 0.安装 node.js,npm node-sass

  1. 以管理员身份运行PowerShell
  2. 使用Get-ExecutionPolicy制定政策 您会看到受限制的
  3. 查看所有政策Get-ExecutionPolicy -List
  4. 运行Set-ExecutionPolicy -ExecutionPolicy Unrestricted
  5. 按“ Y”

使用node-sass -w ./input.scss ./output.css

此外,U可以阅读更多here

答案 3 :(得分:-1)

  1. 安装Node.JS(https://nodejs.org/download/
  2. 安装Ruby for Windows(http://rubyinstaller.org/
  3. 在项目目录中运行npm init以创建packages.json文件。
  4. 安装grunt npm install grunt --save-devhttp://gruntjs.com/getting-started
  5. 安装grunt-contrib-sass npm install grunt-contrib-sass --save-dev
  6. 在项目根目录中创建一个空的Gruntfile.js
  7. 将以下内容添加到gruntfile.js

    module.exports = function(grunt) {
       // Do grunt-related things in here
    };
    
  8. 按照此处的说明创建grunt-sass任务:https://github.com/gruntjs/grunt-contrib-sass    自述文件末尾附近提供了一些简单示例。

  9. 从项目根目录中的PowerShell窗口运行grunt

  10. PROFIT!

  11. 将此代码添加到自动构建脚本时,此代码段可能会有所帮助:

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