Qiita に書くのが 10 か月ぶりという体たらくなぼくです。
さて、Compass でやってる Sass のコンパイルが段々と遅くなってきたので、specify を使って特定の Sass ファイルだけをコンパイルさせようと思います。監視には esteWatch を使ってます。
なお、以下は sass ファイル内で include してる src/_include.sass を更新した場合のみ common.sass / tablet.sass / mobile.sass をコンパイルし、他のファイルは自分だけをコンパイルするようにしています。適宜、'src' としている監視ディレクトリや .scss などへ変更してください。
Gruntfile.coffee
# compass 内
dev:
options:
config: 'config.rb'
environment: 'development'
force: true
specify: '<%= dir.src %>'
# esteWatch 内
sass: (file) ->
target = file.split('/')[1].split('.')[0]
grunt.config.set 'dir',
setCompassConfig(target)
return ['compass:dev']
# module.exports 外に書く function
setCompassConfig = (target) ->
if target is '_include'
return {src: ['src/common.sass', 'src/tablet.sass', 'src/mobile.sass']}
else
return {src: 'src/' + target + '.sass'}