使用带有grunt-sass的node-sass watch选项

时间:2018-03-14 20:09:02

标签: sass gruntjs node-sass

如何配置grunt-sass以使用底层node-sass监视选项来监视更改?

我知道我可以使用grunt-contrib-watch实现相同的功能来监视更改并重新运行grunt-sass任务,但这会更慢,因为它将重新编译整个事情而不仅仅是编译更改。

谢谢!

1 个答案:

答案 0 :(得分:3)

回答我自己的问题,如果这可以帮助其他人:

我找到解决此问题的唯一方法是通过grunt使用node-sass CLI。要实现此目的,请安装令人惊讶的grunt-exec任务并将其设置为使用--watch选项运行命令。

示例用法(支持多个includePath目录):

exec: {
   nodeSass: {
      cmd: function() {
         // Include path option string built from the gruntConfig.cssFiles array.
         var includeFilesOption = gruntConfig.cssFiles.map(function(cssFilePath) {
            return '--include-path ' + cssFilePath;
         }).join(' ');

         return 'node-sass app/scss/style.scss app/generated/style.css' + includeFilesOption + ' --watch';
      }
   }
}

您还需要通过npm安装node-sass。在这种情况下,您只需将以下内容添加到package.json文件中:

"scripts": {
   "install": "npm install node-sass -g"
},