Как удалить неиспользуемые файлы в каждом модуле из node_modules? - PullRequest
0 голосов
/ 05 марта 2020

Есть ли инструмент для удаления неиспользуемых файлов в каждом модуле в папке node_modules, что-то большее, чем "npm uninstall" & "npm prune",

, если нет,

почему, это не важно?

С наилучшими пожеланиями,

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Вы используете Node и NPM, так что это действительно то, что вам нужно использовать, а не какие-либо альтернативы, о которых я знаю. Если вы не используете npm и вместо этого используете что-то вроде rm -rf, нет способа сказать, что делает что, что использует что, et c. Все станет грязно.

Вы можете использовать комбинацию npm prune и npm ls. При использовании npm uninstall вы просто удаляете пакет.

npm ls распечатает посторонние, отсутствующие и недействительные пакеты. Кроме того, он выведет на консоль установленные пакеты, а также их зависимости в древовидной структуре. Документация

Затем вы также можете пометить флаг production , эта команда вместо этого удалит пакеты, указанные в ваших devDependencies. Или вы также можете использовать --no-production.

npm prune <pkg> — production

Вы можете использовать npm обрезку в режиме запуска dry, если используется флаг --dry-run, то никаких изменений фактически не будет.

npm shrinkwrap Использование shrinkwrap в вашем проекте создает файл npm -shrinkwrap. json. Это позволяет вам прикрепить зависимости вашего проекта к указанной c версии, которую вы в данный момент используете в каталоге node_modules. Когда вы запускаете npm install и присутствует npm -shrinkwrap. json присутствует, он переопределяет перечисленные зависимости и любые диапазоны семвер в пакете. json.

0 голосов
/ 05 марта 2020

npm не знает, какие файлы пакета ваше приложение будет использовать во время выполнения. Его задача - убедиться, что у вас есть все запрошенные вами пакеты.

Однако, если вы используете Docker, вы можете вручную добавить ненужные файлы в файл .dockerignore и * 1007. * не добавит их к изображению.

...