将 node-sass watch 选项与 grunt-sass 一起使用

Using node-sass watch option with grunt-sass

如何配置 g运行t-sass 以同时使用底层 node-sass 监视选项监视更改?

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

谢谢!

回答我自己的问题,以防对其他人有所帮助:

我发现解决这个问题的唯一方法是通过 g运行t 使用 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"
},