忽略config.rb中的文件

这是我的dir结构

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 watch

为什么我想这样做? 因为我想通过Guard运行指南针。 我知道在Guard中,我可以观看某些文件,但它无法帮助我,因为无论Guard如何观看,罗盘都会重建所有scss文件。

我只想构建一个scss文件的原因是因为我使用指南针来生成PNG精灵,并且每个导入该精灵的scss需要5秒。 使用LiveReload Guard(11 x 5s !!!)的时间太长了。

使用“_”作为前缀其他SCSS文件不是一个选项。

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


好的,我有两个想法也许可以帮助你。

  • 将您的sass文件移至除main.scss之外的其他目录,无论您想要如何命名该目录,例如: includes 。 然后把additional_import_paths = 'path/to/includes' ,离开sass_dir就像sass_dir一样。 最后在你的main.scss导入其他文件。 现在,罗盘知道main.scss的依赖关系,但不会编译这些文件,因为它们保留在独立的目录中。

    但是还有一个小问题:如何在生产环境中编译它们? 那么,罗盘允许我们指定环境变量,如environment = :production (其默认值为:development )。 有了这个帮助,你可以把sass_dir写成sass_dir = (environment == :production) ? 'path/includes/main' : ['path/includes/main', 'path/includes/others'] sass_dir = (environment == :production) ? 'path/includes/main' : ['path/includes/main', 'path/includes/others']和执行命令: compass compile -e production在最后阶段compass compile -e production

  • 写一个bash别名,如: alias mycompass="compass watch scss/main.scss" ,你就知道了。 使用mycompass进行自己的工作,应该保留指南针。


  • 我最终做的是:

    我跑

    compass watch scss/important.scss
    

    在一个控制台和

    guard -i
    

    在另一个控制台。 我设置了Guard来监视CSS文件cachanges并执行LiveReload。 我从防卫配置中删除了指南针。 现在,除了我必须保持两个端子打开之外,它全部按我的预期工作。

    链接地址: http://www.djcxy.com/p/91671.html

    上一篇: ignore files in config.rb

    下一篇: Compiling sass with SassyStudio and Compass and multiple areas