Mapeo dinámico y Concat con Grunt Uglify
Estoy tratando de usarmapeo dinámico Y concat archivos Javascript con Grunt Uglify.
Tengo lo siguiente que no funciona correctamente.
Aquí está mi estructura de carpetas:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test (output folder)
Esto es lo que espero:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test
|- billing-one.min.js (this file includes billing-one.js AND custom.js)
|- billing-two.min.js (this file includes billing-two.js AND custom.js)
Esto es lo que estoy obteniendo actualmente:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test
|- bills
|- billing-one.min.js (this file includes just billing-one.js)
|- billing-two.min.js (this file includes just billing-two.js)
|- account
|- custom.min.js (this file includes just custom.js)
No incluye el archivo custom.js sino que crea 2 carpetastest/account/custom.min.js
'prueba / facturas / facturación-uno.js' - ver arriba
options: {
beautify: true,
mangle: false,
compress: false,
preserveComments: 'all'
},
files: [
{
expand: true, // Enable dynamic expansion.
cwd: 'javascript/', // Src matches are relative to this path.
src: [[bills/*.js'], 'account/custom.js'], // Actual pattern(s) to match.
dest: 'test/', // Destination path prefix.
ext: '.min.js', // Dest filepaths will have this extension.
extDot: 'first' // Extensions in filenames begin after the first dot
},
],
Quiero todos los archivos Javascript dentro delbills/
carpeta para contener custom.js
Entonces, si hay 2 archivos:bills/billing-one.js
bills/billing-two.js
Esperaría que la prueba / carpeta incluya
test/billing-one.min.js
(este archivo contendría billing-one + custom.js)test/billing-two.min.js
(este archivo contendría billing-two + custom.js)
No quiero codificar los nombres de los archivos. Si se agregan más archivos abills/
carpeta debe ser concat y salida a latest/
carpeta.
Cualquier ayuda muy apreciada.
ACTUALIZACIÓN DESDE LA RESPUESTA ACEPTADA:
Use el siguiente código actualizado para asegurarse de que esto funcione según lo previsto; de lo contrario, se encontrará con errores al ejecutar GRUNT.
Intenté agregar esto a la respuesta enviando una edición para su revisión. Pero fue rechazado, dos veces, por el conocimiento de todas las modificaciones superiores ... cuando de hecho es una entrada válida y mejora la respuesta dada. Nota la[]
, cwd
ysrc
cambios
files: [{
expand: true,
cwd: 'javascript/bills/',
src: ['*.js'],
dest: 'test/',
ext: '.min.js',
extDot: 'first'
}],