如何使用grunt.js复制没有完整路径的文件?

ali*_*rge 23 gruntjs grunt-contrib-copy

我想要的内容复制/pckg/dist与grunt.js.这是结构:

  |-- folder1
  |     |
  |     |-- folder2
  |           |
  |           |-- pckg
  |                 |
  |                 |--myfolder
  |                 |    |
  |                 |    |-- myfiles
  |                 |
  |                 |--myfiles
  |
  |
  |-- dist
        |
        |--myfolder
        |   |
        |   |-- myfiles
        |
        |--myfiles
Run Code Online (Sandbox Code Playgroud)

这是我的 Gruntfile.js

module.exports = function (grunt) {

  // Package configuration
  grunt.initConfig({

    // Metadata
    pkg: grunt.file.readJSON('package.json'),

    //Copy files
    copy: {
      main: {
        expand: true,
        src: 'folder1/folder2/pckg/**',
        dest: 'dest/'
      }
    }

  });

  // Load the plugin that provides the "copy" task.
  grunt.loadNpmTasks('grunt-contrib-copy');

  // Default task(s).
  grunt.registerTask('default', ['copy']);
};
Run Code Online (Sandbox Code Playgroud)

当我运行Grunt时,它会保持路径.它复制了一切dit/folder1/folder2/pckg.怎么了 ?

谢谢你的帮助 !

ali*_*rge 50

这是我用过的东西:

copy: {
  main: {
    expand: true,
    cwd: 'folder1/folder2/pckg/',
    src: ['**'],
    dest: 'dist/'
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的答案.该文档使用`cwd` param但从未解释过它. (9认同)

pde*_*dem 16

使用flatten:true

copy: {
    main: {
        files: [ 
            {expand: true, src: ['components/xxx/*'], dest: 'dist/', flatten: true}
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)