При використанні "npm install" модулі завантажуються та доступні у всій вашій програмі, незалежно від того, чи є "devDependitions" або "залежності". Сума цієї ідеї: все, що ваш package.json визначає як залежність (будь-якого типу), встановлюється в node_modules.
Призначення різниці між залежностями / devDependences / optionalDependitions полягає в тому, що споживачі вашого коду можуть робити без входу в хвилину для установки цих ресурсів.
Відповідно до документації: https://npmjs.org/doc/json.html ...
Якщо хтось планує завантажувати та використовувати ваш модуль у своїй програмі, він, ймовірно, не хоче або потребує завантаження та створення зовнішнього тестового або документаційного каркасу, який ви використовуєте.
У цьому випадку найкраще перерахувати ці додаткові елементи в хеші devDependitions.
Ці речі будуть встановлені щоразу, коли встановлено прапор конфігурації --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