0

非常に単純なコピー タスクを作成しようとしていますが、私のユースケースでは grunt-copy が作成されていないようです :-(.

必要なのは次のとおりです。

ソース ディレクトリ構造:

vendor
  L subdir1
      L assets
          L subdir2
              L subdir3
                  L file1.js
              L file2.js
  L subdir4
      L subdir5
          L subdir6
              L file3.js 

構成:

src: [
   'vendor/subdir1/assets/**/*',
   'vendor/subdir4/**/*'
],
dest: 'build/assets/'

宛先ファイル構造:

build
  L assets
      L subdir2
          L subdir3
              L file1.js
          L file2.js
      L subdir5
          L subdir6
              L file3.js

ご覧のとおり、ディレクトリ構造を保持したいのですが、src のベースパスを省略しています。通常、これは cwd で実行できます。しかし、実際には、この場合、複数の cwd が必要になります。

私には公正な要件のように聞こえます。本当に簡単な解決策はありませんか?

手伝ってくれてありがとう、

4

1 に答える 1

0

Gruntfile.js では、カンマ区切りの「ファイル」定義をさらに使用できます。

copy: {
    dist: {
        files: [
            {
                src: ['assets/**/*'],
                dest: 'build/assets/',
                cwd: 'vendor/subdir1'
            },
            {
                src: ['**/*'],
                dest: 'build/assets/',
                cwd: 'vendor/subdir4/'
            }]
    }
}

Gruntfile では、たとえば次のタスクを実行します。

grunt.registerTask('build', [
    copy:dist
]);

そして、タスクを実行しますgrunt build

于 2014-06-26T07:19:17.797 に答える