Próbuję zrobić npm
pobrać tylko jeden plik w katalogu na npm install
pakietu.Jak mogę dodać do białej listy pojedynczy plik w katalogu w pliku .npmignore?
Katalog wygląda następująco:
+- dist/
+- 1.0.0/
+- 1.0.1/
+- ...lots of other dirs...
+- file.js
Chcę npm ignorować wszystko, ale file.js
więc próbowałem tym następujące w moim .npmignore
:
dist/
!dist/file.js
Jednak npm nadal będzie pobrać wszystkie katalogi w dist
po zainstalowaniu pakietu. Myślałem, że to ma działać jak .gitignore
, ale najwyraźniej brakuje mi tutaj.
To działa, ale szczerze mówiąc nadal nie rozumiem, dlaczego. Dlaczego '! Dist/file.js'" zabija "regułę' dist/', ale nie" dist/* "? Czy stanie się to również w git? – m90
Myślę, że 'dist /' oznacza cały katalog w obecnej postaci (jest tutaj biała lista), ale kiedy mówisz 'dist/*' lub 'dist /.*' oznacza to, że zawierają wszystkie pliki w katalogu 'dist' . Pozwala to na czarną listę. Przynajmniej tak postanowiłem to zrozumieć ;-) – thefourtheye
Dobra odpowiedź +1. Zauważyłem, że druga linia ('dist /.*') nie była konieczna i możesz ją przetestować używając [jak debugować npmignore] (https://stackoverflow.com/questions/41412694/how-to-debug-npmignore) –