10

だから私は次のような状況にあります。CLI からのみコンパスを使用している場合、コンパスは機能し、必要なことを正確に実行します。ファイルが置かcompass compileれているのと同じフォルダー (フォルダー内) から実行しています。また、ディレクトリも含まれています。これが私のファイルです:config.rbstylessasscssconfig.rb

project_path = '.'
css_dir = "css"
sass_dir = "sass"
images_dir = "../../data/images"
javascripts_dir = "../scripts"

output_style = :compressed
environment = :development
relative_assets = true

これに使用しようとしているときはgrunt、次の構成を使用しますGruntfile.js

compass: {
    compile: {
        options: {
            basePath: 'app/src/styles',
            config: 'app/src/styles/config.rb'
        }
    }
}

appフォルダとはGruntfile.js同じレベルにあります。実行するgrunt compassと、次の出力が表示されます。

Running "compass:dist" (compass) task
Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help.

Done, without errors.

すべてのオプションを直接指定しようとすると、次のようになります。

compass: {
    compile: {
        options: {
            basePath: 'app/src/styles',
            sassDir: 'app/src/styles/sass',
            cssDir: 'app/src/styles/css',
            imagesDir: 'app/data/images'
        }
    }
}

それは仕事をしますが、.sass-cacheフォルダーはのレベルで作成されますGruntfile.jsbasePathしたがって、構成のオプションに問題があると思います。

私は何か間違ったことをしていますか?


編集:唯一の方法は、ファイルを のレベルに
移動し、次のオプションを指定することです。config.rbGruntfile.js

project_path = 'app/src/styles'
css_dir = "css"
sass_dir = "sass"
images_dir = "../../data/images"
javascripts_dir = "../scripts"

output_style = :compressed
environment = :development
relative_assets = true

また、このタスクに関する「Gruntfile.js」からすべてのオプションを削除しました。ここで何が起こっているのか、まだわかりません。

4

2 に答える 2

0

プロジェクトにconfig.rbとは異なるベースパスが必要な場合は、config.rbでパスを設定できます(相対パスでも)

例 config.rb

project_path    = "../src/main/webapp/"
http_path       = "./"
css_dir         = "css"
sass_dir        = "../library"
images_dir      = "assets/images"
fonts_dir       = "assets/fonts"
javascripts_dir = "assets/js"

...

relative_assets = true

SCSS の例

.stylesheet-url {
  content:stylesheet-url("style.css");
}

.font-url {
  content:font-url("font.woff");
}

.image-url {
  content:image-url("image.png");
}

.generated-image-url {
  content:generated-image-url("image2.png");
}

CSS の例

.stylesheet-url {
  content: url('style.css');
}

.font-url {
  content: url('../assets/fonts/font.woff');
}

.image-url {
  content: url('../assets/images/image.png');
}

.generated-image-url {
  content: url('../assets/images/image2.png');
}

Win7 x64 で Compass 0.12.latest を実行します。

于 2013-12-12T15:39:15.573 に答える