Wie Sie package.json-Skripte verwenden, um Dateien mit einer bestimmten Dateierweiterung zu kopieren

Ich versuche aus npm als build-tool.

Einen Stolperstein, dem ich begegnet bin ist, dass ich das kopieren von javascript-Dateien aus einem Ordner in einen anderen. Die Quelle Ordner enthält Typoskript-Dateien, javascript-Dateien und map-Dateien, aber in den Ziel-Ordner, ich bin nur daran interessiert, javascript-Dateien.

Ich will nicht, um eine copy-Anweisung für jede Datei, würde aber gerne alles kopieren .js-Dateien. Auch mein source Ordner Unterordner enthält, enthält auch javascript-Dateien. Diese kopiert werden müssen, und pflegen Sie die Unterordner-Struktur.

Was ich versucht habe ist mit NCP mit einem filter, aber ich Schaffe es nicht, die filter zu arbeiten. Ich habe getestet, die regex im filter verwendet wird, und es scheint zu funktionieren. Der test wurde an Regex Tester mit regulären Ausdruck .*\.js$ - und test-Zeichenfolgen wie main.tsmain.js main.js.map etc, und nur die .js-strings angepasst wurden.

Mein Paket json enthält die folgende (abgekürzte):

{
    "scripts": {
        "copy": "ncp scripts wwwroot/scripts --filter=\".*(\\\\.js$)\"" 
    }, 
    "devDependencies": { 
        "ncp": "2.0.0.0" 
    }
}

Da mein regex die in einem string in einem string habe ich double-escaped. Ich habe auch versucht andere Variationen, zum Beispiel:

--filter=/.*\.js$/g       - compilation error
--filter=/.*\\.js$/g      - no files copied
--filter=\".*\\.js$\"     - no files copied
--filter=\"/.*\\.js$/g\"  - no files copied
(no filter)               - all files copied

Ich bin in keiner Weise verheiratet zu NCP. Wenn etwas anderes besser funktioniert, dann werde ich die verwenden.

Also: Wie kann ich, im Paket.json-Skripte Abschnitt kopiert nur Dateien mit der gewünschten Endung zu einem anderen Ordner? Ich bin mir ziemlich sicher, ich habe etwas übersehen offensichtlichen...

InformationsquelleAutor der Frage Thomas Jørgensen | 2016-06-25

Schreibe einen Kommentar