Compass で specify を使って特定 Sass ファイルだけをコンパイルさせる Gruntfile

  • 1
    Like
  • 0
    Comment
More than 1 year has passed since last update.

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'}