javascript copy gruntjs grunt-contrib-copy

javascript - Cómo hacer que Grunt-Contrib-Copy copie archivos/directorios en relación con la ruta de origen dada



gruntjs (1)

He configurado un proyecto de ejemplo con un árbol como este:

. ├── Gruntfile.js ├── package.json └── src └── js └── foo.js

Usando el archivo de abajo:

module.exports = function(grunt) { require(''matchdep'').filterDev(''grunt-*'').forEach(grunt.loadNpmTasks); grunt.initConfig({ copy : { foo : { files : [ { expand : true, dest : ''dist'', cwd : ''src'', src : [ ''**/*.js'' ] } ] } } }); grunt.registerTask(''build'', function(target) { grunt.task.run(''copy''); }); };

Esto me dio esta estructura:

. ├── Gruntfile.js ├── dist │   └── js │   └── foo.js ├── package.json └── src └── js └── foo.js

Cuando cambié el cwd para que el Gruntfile leyera:

module.exports = function(grunt) { require(''matchdep'').filterDev(''grunt-*'').forEach(grunt.loadNpmTasks); grunt.initConfig({ copy : { foo : { files : [ { expand : true, dest : ''dist'', cwd : ''src/js'', src : [ ''**/*.js'' ] } ] } } }); grunt.registerTask(''build'', function(target) { grunt.task.run(''copy''); }); };

Tengo esta estructura dir:

. ├── Gruntfile.js ├── dist │   └── foo.js ├── package.json └── src └── js └── foo.js

Así que parece que cwd hace lo que necesitas. Tal vez dejó src en src/js/bower_components/* al configurar cwd en src/js/bower_components ? En ese caso, src debería leer algo como **/*.js , pero dependiendo de lo que realmente necesite.

La primera vez que uso esta tarea y lo que estoy tratando de lograr es lo siguiente:

copie todos los directorios / archivos de src/js/bower_components/* para build/assets/js/vendor/ src/js/bower_components/* build/assets/js/vendor/

He intentado usar la propiedad cwd pero no funciona en absoluto cuando la uso ... Lo puse en: src/js/bower_components/

De src

. ├── Gruntfile └── src └── js └── bower_components └── jquery

Actualmente recibo:

. ├── Gruntfile └── build └── assets └── js └── vendor src └── js └── bower_components └── jquery

Lo que me gustaria

. ├── Gruntfile └── build └── assets └── js └── vendor └──jquery

Aquí está mi tarea actual

copy: { main: { src: ''src/js/bower_components/*'', dest: ''build/assets/js/vendor/'', expand: true, } },

Gracias por cualquier ayuda