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