Узел упакованных зависимостей - PullRequest
0 голосов
/ 11 января 2019

У меня есть проект node.js, который использует зависимость, которую я перечислил в package.json. Все это прекрасно работает с зависимостями, однако я хочу иметь возможность отправить свой проект без необходимости загружать зависимости. Как я могу скопировать зависимость в свой проект и все еще использовать ее с require('') в моих файлах проекта?

1 Ответ

0 голосов
/ 11 января 2019

Это зависит от вашего потока доставки. (В какой среде, какое приложение, какие инструменты, как и куда вы доставите, ...)

Если в вашем package.json dependencies есть зависимость, вы можете извлечь ее, выполнив npm install --production и используя require('lib'); в вашем исходном коде, как обычно.

Также возможно установить вашу среду NODE_ENV=production и просто запустить npm install.

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

Обновление

После разговора с вашим, похоже, что зависимость, вероятно, не установлена ​​с npm.

Он подключен в системе, которая может использовать git-репозиторий для установки плагинов.

Поскольку вы используете git-репозиторий для размещения вашего модуля, вы должны иметь возможность сохранять node_modules в .gitignore при установке модуля с npm install git+https://github.com/namespace/repo.git, он будет установлен автоматически из-за npm install чтения package.json.

Если ваш клиент не полагается на npm, тогда вам остается только оставить node_modules на своем репозитории github.

В этом случае ваш импорт должен выглядеть так:

require('./node_modules/module-a');

Может быть, есть третий вариант, проверьте с вашим клиентским программным обеспечением, может ли оно быть установлено из реестра npm, если это так, тогда вы сможете игнорировать node_modules из репозитория, а если нет, тогда это означает, что вы не можете использовать github-репозиторий для установки npm, вместо этого используйте реальный реестр npm, такой как https://registry.npmjs.com или разместите свой собственный с https://github.com/verdaccio/verdaccio

...