Dynamic Mapping und Concat mit Grunt Uglify

Ich versuche, @ zu verwenddynamic mapping UND Javascript-Dateien mit Grunt Uglify verknüpfen.

Ich habe die folgenden, die nicht richtig funktioniert.

Hier ist meine Ordnerstruktur:

javascript
    |- account
        |- custom.js
    |- bills
        |- billing-one.js
        |- billing-two.js
    |- test (output folder)

Hier ist was ich erwarte:

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)

Das bekomme ich gerade:

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)

Er enthält nicht die Datei custom.js, sondern erstellt stattdessen 2 Ordnertest/account/custom.min.js 'test / bills / billing-one.js' - siehe oben

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
  },
],

Ich möchte alle Javascript-Dateien imbills/ Ordner für custom.js

Also, wenn es 2 Dateien gibt:bills/billing-one.js bills/billing-two.js

ch würde erwarten, dass test / folder @ enthä

test/billing-one.min.js (Diese Datei enthält billing-one + custom.js)test/billing-two.min.js (Diese Datei würde billing-two + custom.js enthalten.)

Ich möchte die Dateinamen nicht hart codieren. Wenn @ weitere Dateien hinzugefügt werdbills/ Ordner der sollte concat sein und auf dem @ ausgegeben werdtest/ Mappe

Jede Hilfe sehr geschätzt.

UPDATE SEIT ANTWORT AKZEPTIERT:

Verwenden Sie den folgenden aktualisierten Code, um sicherzustellen, dass dies wie beabsichtigt funktioniert. Andernfalls treten beim Ausführen von GRUNT Fehler auf.

Ich habe versucht, dies der Antwort hinzuzufügen, indem ich eine Bearbeitung zur Überprüfung übermittelt habe. Aber es wurde zweimal von allen abgelehnt, die alle überlegenen Mods kannten. Tatsächlich ist es eine gültige Eingabe und verbessert die gegebene Antwort. Beachten Sie das[], cwd undsrc Änderungen

files: [{
    expand: true,
    cwd: 'javascript/bills/',
    src: ['*.js'],
    dest: 'test/',
    ext: '.min.js',
    extDot: 'first'
}],

Antworten auf die Frage(2)

Ihre Antwort auf die Frage