9

画像のディレクトリを A から B にコピーして再編成する必要がある Grunt スクリプトをセットアップしています。

ディレクトリ構造:

コンポーネント

  • コンポーネントA
    • js
    • 画像
      • imgfolderA
      • imgfolderB
    • CSS
  • コンポーネントB
    • js
    • 画像
      • imgfolderA

各 img ディレクトリには、画像の整理に役立つ他のディレクトリとそれらのディレクトリ内のディレクトリを含めることができます。

Grunt を使用してこれらすべての画像を取得し、それらを 1 つのディレクトリ (assets/img) に配置します。

資産

  • 画像
    • dirA
      • imgfolderA
      • imgfolderB
    • dirB
      • imgfolderA

各コンポーネントディレクトリを指定せずに、どのようにこれをうなり声で行うことができるかについてのアイデアはありますか (完全に自動化する必要があります)?

4

2 に答える 2

22

少し遅れていることはわかっていますが、これでうまくいくはずです。「grunt-contrib-copy」を次のように使用してください

module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    copy: {
      production: {
        files: [{
            expand: true,
            cwd: "componentA/img/imgfolderA/",
            src: ["*.*", "**/*.*"],
            dest: "./assets/img/dirA/",
          },
          {
            expand: true,
            cwd: "componentB/img/imgfolderB/",
            src: ["*.*", "**/*.*"],
            dest: "./assets/img/dirB/",
          },
        ]
      }
    }
  });

  // Production Build Tools
  grunt.loadNpmTasks('grunt-contrib-copy');

  // Default Production Build task(s).
  grunt.registerTask('default', ['copy']);
};

ps マジックはファイル オブジェクトにあり、ドキュメントはあまり充実していませんが、ドキュメントはここにあります。

grunt-contrib-copy セットアップ: https://github.com/gruntjs/grunt-contrib-copy (下部の readme)

ファイル オブジェクトのセットアップ: http://gruntjs.com/configuring-tasks#globbing-patterns

タスクのセットアップ: http://gruntjs.com/configuring-tasks

于 2014-02-13T09:57:49.563 に答える