Могу ли я заставить Node.JS установить npm
-пакет при выполнении require('package')
вместо запуска ошибки?Установите пакет NPM во время работы приложения
Это будет более удобно, чем бег npm i package
для каждой упаковки.
Могу ли я заставить Node.JS установить npm
-пакет при выполнении require('package')
вместо запуска ошибки?Установите пакет NPM во время работы приложения
Это будет более удобно, чем бег npm i package
для каждой упаковки.
Вы не можете установить Node.js для этого (поскольку Node фактически не знает о npm
).
Я бы не рекомендовал делать что-либо подобное; если вы ошибочно указали имя пакета, вы загрузите неправильный пакет, возможно, запустив вредоносный код на вашем компьютере.
Помните, что любой может опубликовать пакет npm, и пакеты могут запускать любую команду (включая rm -rf
) во время процесса установки.
Следуйте ниже на свой страх и риск:
Вы можете получить что-то подобное поведение вы описываете с https://github.com/siddharthkp/auto-install.
npm install -g auto-install
cd project-name/
auto-install
Я бы рекомендовал использовать опцию --secure
для auto-install
. Это позволит установить только популярные модули (> 10 тыс. Загрузок за последний месяц). Тем не менее, это исключит часть риска опечаток, если вы используете необычный пакет, он не будет установлен автоматически.
Пакеты зависимостей должны управляться через файл package.json. Это потому, что вы можете легко управлять версией пакетов, требуемых вашим приложением. Я не думаю, что это хорошая практика для установки зависимости во время выполнения.
Ссылка: Using a package.json
Theorically, вы можете изменить require
начать ЦМД и intall пакет, если не найден. Это будет сложно, нестандартно и ужасно.
Вместо этого вы можете использовать package.json
, который вы можете создать автоматически с помощью npm init
.
Он будет просить имя пакета и какой-то другой вопрос, а затем, когда вы знаете, какой пакет вам нужно, вы можете
npm install --save package
, который автоматически добавит пакет в package.json
.
С package.json
набора, вы можете просто запустить
npm install
, и он будет автоматически устанавливать каждый пакет, объявленный в package.json
.
У этого будет другой хороший профессионал, например, позволяющий вам гарантировать, какая версия пакета будет установлена (предотвращая нарушение изменений в зависимости), зная, что ваши зависимости не содержат навигацию вашего кода, и подготовка вашего кода к нажатию в npm
.