忽略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