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.ts
main.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
Du musst angemeldet sein, um einen Kommentar abzugeben.
cpx könnte ein guter Ersatz.
Es hat eine CLI, ermöglicht die Verwendung von Einheiten anstelle von regex, kann die Erhaltung der Verzeichnis-Baum, und ist relativ up-to-date, da ich dies Schreibe....
InformationsquelleAutor der Antwort Matthew Bakaitis
Können Sie verwenden gulp.js für diese.
Schreiben Sie einen Schluck Aufgabe zu isolieren, nur die js-Dateien (/Pfad/zu/Dateien/*.js) und verschieben Sie es an eine Adresse Ihrer Wahl.
Es erfordert nur wenige Zeilen code.
Enthalten, die im Skript-Abschnitt des Pakets.json, wenn nötig.
Den link gulp.js : https://gulpjs.com/
InformationsquelleAutor der Antwort Zer0
Gibt es auch npm-Modul namens
copyfiles
https://github.com/calvinmetcalf/copyfiles
E. g. kopieren Sie alle
*.css
Dateien aus dem./src
Ordner./styles
Ordner:InformationsquelleAutor der Antwort asdfasdfads