【问题标题】:Watch and compile entire folder with node-sass?使用 node-sass 监视和编译整个文件夹?
【发布时间】:2014-04-28 01:29:04
【问题描述】:

Compass 有一个可爱的命令,可以监视和编译给定目录中的所有 scss:

compass watch *foldername*

但是,基于 Ruby 的 compass 有点慢,而基于 C 的 SASSC(以 node-sass 的形式包装)要快得多。问题是,我无法使用 node-sass 复制这个看似简单的功能。

我按照这里给出的指示进行操作:http://benfrain.com/lightning-fast-sass-compiling-with-libsass-node-sass-and-grunt-sass/,它在设置带有 grunt 的 node-sass 以监视文件更改方面做得很好,但它似乎不支持监视和转换整个文件夹,与里面的文件名。

我试过换

sass: {
        dist: {
            files: {
                'css/styles.css': 'sass/styles.scss'
            }
        }
    }

文件夹的值,除其他外,似乎没有任何效果。我承认我对咕噜声一无所知。有没有办法复制

compass watch *folder*

sass --watch *folder*:*folder*

我没试过,还是不存在?

【问题讨论】:

    标签: css node.js sass gruntjs compass-sass


    【解决方案1】:

    Yaniv 走在了正确的轨道上,但魔力似乎在于“扩张”。最终效果如下:

        sass: {
            dist: {
                files: [{
                    expand: true,
                    src: ['sitecontent/**/*.{scss,sass}'],
                    ext: '.css'
                }]
            }
        }
    

    这会编译 sitecontent 文件夹和所有子文件夹中的所有 sass 文件,并将 css 放在 sass 文件旁边 - 它不会将它们编译到其他文件夹。

    【讨论】:

      【解决方案2】:

      您需要将 grunt-sass 与 grunt-contrib-watch 结合使用才能获得相同的效果。 ruby 版本使用单独的 gem 来完成文件监视功能,因此您可以想象在 C++ 中跨平台是多么困难。

      【讨论】:

      • 嗯,不一定。 chokidar npm 模块使手表变得相当简单(并且非常多平台)。我正在使用它和一个 Makefile 来满足我所有的 JavaScript 和 CSS 构建需求。我拒绝理解为什么每个工具都应该有自己的手表等等。JavaScript 构建不和谐的状态是可怕的。有出路。请私信问我。 :)
      • 是的,有一个 PR 可以将现有的手表功能换成 chokidar github.com/sass/node-sass/pull/844
      【解决方案3】:

      你可以这样使用:

        sass: {
          dist: {
            files: [{
              src: ['*.scss'],
              dest: '../public',
              ext: '.css'
            }]
          }
        }
      

      希望这就是你要找的东西

      【讨论】:

        猜你喜欢
        • 2019-06-06
        • 2016-11-23
        • 2018-03-31
        • 2016-12-24
        • 2014-03-11
        • 1970-01-01
        • 1970-01-01
        • 2020-08-03
        • 2018-07-17
        相关资源
        最近更新 更多