При использовании «npm install» модули загружаются и доступны во всем приложении независимо от того, являются ли они «devDependencies» или «зависимости». Суть этой идеи: все, что ваш package.json определяет как зависимость (любого типа), устанавливается в node_modules.
Цель различий между зависимости / devDependencies / OptionalDependencies состоит в том, что потребители вашего кода могут сделать w / npm для установки этих ресурсов.
Согласно документации: https://npmjs.org/doc/json.html ...
Если кто-то планирует загрузить и использовать ваш модуль в своей программе, то он, вероятно, не хочет или не нуждается в загрузке и создании используемой вами среды внешнего тестирования или документации.
В этом случае лучше перечислить эти дополнительные элементы в хэше devDependencies.
Эти вещи будут устанавливаться всякий раз, когда установлен флаг конфигурации --dev. Этот флаг устанавливается автоматически при выполнении ссылки npm или при установке npm из корня пакета и может управляться как любой другой параметр конфигурации npm. Смотрите config (1) для более подробной информации по теме.
Однако, чтобы решить этот вопрос, если вы хотите установить ТОЛЬКО «зависимости» с помощью npm, используйте следующую команду:
npm install --production
Это можно подтвердить, посмотрев коммит Git, в котором был добавлен этот фильтр (наряду с некоторыми другими фильтрами [перечислены ниже] для обеспечения этой функциональности).
Альтернативные фильтры, которые могут быть использованы npm:
--save => updates dependencies entries in the {{{json}}} file
--force => force fetching remote entries if they exist on disk
--force-latest => force latest version on conflict
--production => do NOT install project devDependencies
--no-color => do not print colors
@dmarr попробуйте использовать npm install --production