【问题标题】:Copy directory/files form multiple src forders to one dest将目录/文件从多个 src 文件夹复制到一个目标
【发布时间】:2014-06-26 19:53:01
【问题描述】:

我正在尝试创建一个非常简单的复制任务,但似乎 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。

听起来对我来说是一个公平的要求。真的没有简单的解决办法吗?

感谢您的帮助,

【问题讨论】:

    标签: grunt-contrib-copy


    【解决方案1】:

    您可以在 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

    【讨论】:

    • 抱歉,回答迟了。当然,供应商中有超过 2 个(实际上是未定义的数量)子目录。所以这行不通。无论如何,谢谢。我现在做了完全不同的事情,可以逃避这个问题。
    猜你喜欢
    • 2021-03-21
    • 2023-03-11
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2017-05-02
    • 2015-10-15
    相关资源
    最近更新 更多