2013-12-23 8 views
14

私はディレクトリ構造を持っている期待どおりに動作しません:うなり声コピーフラット化は、次のように

source/ 
    libraries/ 
     d3.js 
     lodash.js 
     //etc 

次のように私はうなり声コピーを設定している:

​​3210

私はそれは、ビルドに出力を平らにすることを期待、私は持っているように

build/ 
    d3.js 
    //etc 

代わりに、私はビルドの元のディレクトリ構造の再現を得る:

build/ 
    source/ 
     libraries/ 
      d3.js 
      //etc 

何がありますか?フラットパネルを正しく使用していませんか?あなたがbuildに行くにsource/librariesのすべてをしたいので、あなただけのflattenを使用している場合

答えて

20

はまあ、私は実際に代わりcwd(現在の作業ディレクトリ)オプションを使用してお勧めします。一方、サブフォルダが実際にsource/librariesにある場合は、おそらくsrc行がsource/libraries/**/*.jsであることが必要です。あなたがcwdを使用することができればどのような場合には

は、代わりにそれは次のようになります。他のケースでは

copy: { 
    main: { 
    files: [ 
     { 
     src: ["*.js"], 
     dest: "build/", 
     cwd: "source/libraries/" 
     } 
    ] 
    } 

を、多分これ? (expandオプションはtrueに設定されています)

copy: { 
    main: { 
    files: [ 
     { 
     src: ["source/libraries/**/*.js"], 
     dest: "build/", 
     flatten: true, 
     expand: true 
     } 
    ] 
    } 
} 
+0

cwdを使用すると問題が解決します。しかし、不快なドキュメントに基づいて、それは平らになっているようにも見えます: '' flatten生成されたdestパスからすべてのパス部分を削除してください。 '' なぜそれはないのですか? – dandelion

+4

'expand'オプションも追加しましたか?私が「平坦化」を見たたびに、私はそれを「拡大」して見る。 – jakerella

+4

heh ...ちょうどドキュメントを読んで...ちょうどあなたが言及する行の上にこれがあります: "expand'次のオプションを有効にするには' true'に設定します: "(' flatten'は以下のオプションの一つです")。 ;) – jakerella

関連する問題