5

1 つのコマンドで、複数のフォルダーにまたがる Compass/SCSS ファイルをコンパイル/監視したいと考えています。私の知る限り、複数の SCSS フォルダーを個別の CSS 出力フォルダーと組み合わせて構成する方法はありません。

add_import_pathsass_dirほとんど必要なものですが、インポートパスごとに設定する方法がわかりません。

これを行う方法はありますか?
このQuoraの回答には何もないと書かれていますが、私はまだ希望を持っています:)


更新: ディレクトリ構造の例:

  • users/user1/css/ <- scss ディレクトリ
  • users/user1/css/generated/ <- 生成された css ディレクトリ
  • ユーザー/user2/css/
  • ユーザー/user2/css/生成された/
  • テーマ/テーマ1/css/
  • テーマ/テーマ 1/css/生成された/
  • テーマ/テーマ2/css/
  • テーマ/テーマ 2/css/生成された/
4

2 に答える 2

3

これらの散在するすべての SASS ファイルを 1 つのコンパイル済み CSS にコンパイルするかどうかはわかりません。もしそうなら、私はあなたを助ける方法がわからないのではないかと心配しています.

ただし、複数のファイルが必要な場合の解決策の 1 つは、Rake を使用することです。

必要なすべての監視コマンドを 1 つの Rake タスクにラップし、それらのタスクを一度に実行するためにそのようなタスクを実行するのはどうでしょうか。

レーキファイル

namespace :stylesheets do
  desc 'Watches dynamic stylesheets for user 1 to compile changes'
  task :watch_user1 do
    puts 'Watching first set of stylesheets...'
    system 'compass watch --sass-dir users/user1/css --css-dir users/user1/css/generated -c config/compass.rb'
  end

  desc 'Watches dynamic stylesheets for user 2 to compile changes'
  task :watch_user2 do
    puts 'Watching second set of stylesheets...'
     system 'compass watch --sass-dir users/user2/css --css-dir users/user2/css/generated -c config/compass.rb'
  end
  desc 'Watches dynamic stylesheet all to compile changes'

  multitask watch_all: ['stylesheets:watch_user1', 'stylesheets:watch_user2'] do
    puts 'watching all...'
  end
end

次に、マルチタスクを実行するだけで、rake stylesheets:watch_allすべてのサブタスクがスレッドでコマンドを実行して発行されます。

この rake タスクは反復的であり、いくつかの慣習によって .yml ファイルを介して構成することもできるため、大幅に改善される可能性がありますが、Rake で何ができるかについてのアイデアが得られることを願っています。

ここでは、Rake に関する詳細情報と、Rakeタスクの作成に関する優れたチュートリアルを紹介します。

乾杯!

于 2013-06-01T14:30:54.683 に答える