Mapeamento dinâmico e concat com Grunt Uglify
Estou tentando usarmapeamento dinâmico E concatene arquivos Javascript com Grunt Uglify.
Eu tenho o seguinte que não está funcionando corretamente.
Aqui está a minha estrutura de pastas:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test (output folder)
Aqui está o que eu estou esperando:
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)
Isto é o que estou recebendo atualmente:
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)
Ele não está incluindo o arquivo custom.js, mas cria duas pastastest/account/custom.min.js
'test / bills / billing-one.js' - veja acima
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
},
],
Eu quero todos os arquivos Javascript dentro dobills/
pasta para conter custom.js
Portanto, se houver 2 arquivos:bills/billing-one.js
bills/billing-two.js
Eu esperaria que teste / pasta incluísse
test/billing-one.min.js
(esse arquivo conteria billing one + custom.js)test/billing-two.min.js
(esse arquivo conteria dois de cobrança + custom.js)
Não quero codificar os nomes dos arquivos. Se mais arquivos forem adicionados abills/
pasta deve ser concat e saída para otest/
pasta.
Qualquer ajuda muito apreciada.
ATUALIZAÇÃO DESDE QUE A RESPOSTA ACEITE:
Use o código atualizado a seguir para garantir que isso funcione conforme o esperado - caso contrário, você poderá encontrar erros ao executar o GRUNT.
Tentei adicionar isso à resposta enviando uma edição para revisão. Mas foi rejeitado, duas vezes, por todos os conhecedores de todos os mods superiores ... quando, na verdade, é uma entrada válida e melhora a resposta dada. Note o[]
, cwd
esrc
alterar.
files: [{
expand: true,
cwd: 'javascript/bills/',
src: ['*.js'],
dest: 'test/',
ext: '.min.js',
extDot: 'first'
}],