1

Guard に、haml コンパイルの出力を 2 つの異なる場所に送信してもらいたいと考えています。次のように、Guardfile で haml を 2 回呼び出してみました。

guard 'haml', :output => 'first_dir/', :input => 'src/haml' do
  watch %r{^src/haml/.+(\.html\.haml)(?!(\.swp))}
end
guard 'haml', :output => 'second_dir/', :input => 'src/haml' do
  watch %r{^src/haml/.+(\.html\.haml)(?!(\.swp))}
end

しかし、それは無限ループに陥るだけです。2 つの異なるディレクトリに出力するには、Guardfile をどのようにする必要がありますか?

4

2 に答える 2

2

Guardfileに問題はありません。回避策として、グループを使用して2つのGuardプロセスを開始できます。

group :first do
  guard 'haml', :output => 'first_dir/', :input => 'src/haml' do
    watch %r{^src/haml/.+(\.html\.haml)(?!(\.swp))}
  end
end

group :second do
  guard 'haml', :output => 'second_dir/', :input => 'src/haml' do
    watch %r{^src/haml/.+(\.html\.haml)(?!(\.swp))}
  end
end

そして今、あなたはそれぞれをそれ自身のターミナルで始めます:

guard -g first
guard -g second

あまりエレガントではありませんが、うまくいくでしょう...

于 2012-05-25T22:16:55.960 に答える
1

上記の回答に出くわし、グループを機能させようとして頭を壁にぶつける人にとって、Netzpirat は構文を間違えています。正しい構文は次のとおりです。

group :iPhone do
    guard 'haml', :input => 'src/haml', :output => '../iPhone/www/' do
        watch %r{^src/haml/.+(\.html\.haml)}
    end
end

このSOの質問までこの機能について実際に知らなかったので、Netzpiratに感謝します。

于 2013-03-13T00:28:09.317 に答える