Próbuję out npm jako narzędzie do kompilacji.Jak używać skryptów package.json do kopiowania plików o określonym rozszerzeniu pliku
Jedną z przeszkód, z jakimi się zetknąłem, jest to, że muszę skopiować pliki javascript z jednego folderu do drugiego. Folder źródłowy zawiera pliki maszynopisu, pliki javascript i pliki map, ale w folderze docelowym interesują mnie tylko pliki javascript.
Nie chcę tworzyć instrukcji-kopii dla każdego pliku, ale chcę skopiować wszystkie pliki .js. Ponadto mój folder źródłowy zawiera podfoldery zawierające również pliki javascript. Należy je również skopiować i zachować strukturę podfolderów.
Próbowałem użyć filtra NCP, ale nie mogę uruchomić filtru. Przetestowałem regex używany w filtrze i wygląda na to, że działa dobrze. Test został przeprowadzony pod numerem Regex Tester z wyrażeniem regularnym .*\.js$
i łańcuchami testowymi, takimi jak main.ts
, main.js
main.js.map
itd. I dopasowano tylko ciągi .js.
Mój pakiet zawiera następujące JSON (w skrócie):
{
"scripts": {
"copy": "ncp scripts wwwroot/scripts --filter=\".*(\\\\.js$)\""
},
"devDependencies": {
"ncp": "2.0.0.0"
}
}
Ponieważ mój regex jest w ciągu w ciągu znaków mam dwukrotnie uniknął go. Próbowałem także innych odmian, na przykład:
--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
Nie jestem w żaden sposób żonaty z KPK. Jeśli coś jeszcze działa lepiej, wykorzystam to.
Tak: Jak to zrobić, w sekcji skrypty package.json kopiować tylko pliki ze specjalnym rozszerzeniem do innego folderu? Jestem prawie pewien, że przeoczyłem coś oślepiająco oczywiste ...
Idealny. Teraz mój skrypt to "copy": "cpx \" scripts/**/*. Js \ "wwwroot/scripts", z devDependency "cpx": "1.3.1". Dokładnie tego szukałem. –