Sass Compass watch-忽略config.rb中的文件

Sass Compass watch-忽略config.rb中的文件,sass,compass-sass,ignore,guard,watch,Sass,Compass Sass,Ignore,Guard,Watch,这是我的目录结构 css/ sprites/_sprite.scss scss/important.scss scss/file1.scss ... scss/file5.scss scss/file6.scss scss/file7.scss scss/file8.scss scss/file9.scss scss/file10.scss 我希望能够使用 compass watch 仅监视对scss/important.scss文件的更改。 我知道 compass watch scss/i

这是我的目录结构

css/
sprites/_sprite.scss
scss/important.scss
scss/file1.scss
...
scss/file5.scss
scss/file6.scss
scss/file7.scss
scss/file8.scss
scss/file9.scss
scss/file10.scss
我希望能够使用

compass watch
仅监视对scss/important.scss文件的更改。 我知道

compass watch scss/important.scss
但是我想通过使用conf.rb配置文件实现同样的功能,这样我就可以像那样使用compass了

compass watch
我为什么要这么做?因为我想通过守卫来运行罗盘。我知道在Guard中我可以查看某些文件,但这对我没有帮助,因为compass总是重建所有scss文件,而不管Guard查看什么

我只想构建一个scss文件的原因是,我使用compass生成PNG精灵,导入精灵的每个scss都需要5秒钟。在LiveReload(11 x 5s!!!)中使用Guard的时间太长了

不能在其他SCSS文件前面加上“_”


我只想让compass查看一个文件,而不必将此文件指定为命令行参数

好的,我有两个想法可能可以帮助您

  • 将sass文件移动到除main.scss以外的其他目录中,根据需要命名该目录,例如:
    includes
    。然后将
    附加导入路径='path/to/includes'
    ,将
    sass\u dir保持原样。最后,在
    main.scss
    中导入其他文件。现在,compass知道
    main.scss
    的依赖项,但不会编译这些文件,因为它们位于独立目录中

    但还有一个小问题:如何在生产环境中编译它们?compass允许我们指定环境变量,比如
    environment=:production
    (其默认值是
    :development
    )。有了此帮助,您可以将
    sass\u dir
    编写为
    sass\u dir=(环境==:生产)?”path/includes/main':['path/includes/main','path/includes/others']
    ,并在最后阶段执行命令:
    compass compile-e production

  • 编写一个bash别名,如:
    alias mycompass=“compass watch scss/main.scss”
    ,您就知道了。使用
    mycompass
    进行您自己的工作,让指南针保持原样


  • 我最终做的是:

    我跑

    compass watch scss/important.scss
    
    在一个控制台和

    guard -i
    

    在另一个控制台中。我设置了一个守卫来监视CSS文件的更改和LiveReload。我将指南针从防护配置中移除。现在,除了必须保持两个终端打开外,一切都如我所期望的那样工作。

    你能解释一下为什么不可以使用前缀“\uu”吗?顺便说一下,我记得有一个选项叫做
    sass\u path
    ,它应该允许您在观看/编译时指定特定的文件。@nightire sass_路径本质上是sass_dir,它指向该路径中的所有文件directory@nightire我不能在./scss/file*.scss-s中使用“u”前缀。/SCSS/目录中有多个SCSS文件。对于我的产品构建,我需要对它们进行编译,以生成11个单独的CSS文件。但是在开发过程中,我只需要其中一个“/scss/important.scss”所有文件都是GIT格式的。我不能在开发过程中临时重命名这些文件,因为还有许多其他开发人员在处理这些文件,而且使用GIT我们经常签入更改。