Несколько node_modules и package.json
В любом проекте node / npm вы можете иметь несколько package.json
в вашем дереве каталогов, например:
app/
package.json
node_modules
src...
account_module/
package.json
node_modules
src...
admin_module/
package.json
node_modules
src..
Когда вы вызываете yarn
(или npm install
ofc) на любом из дочерних модулей, зависимости, перечисленные в их локальном package.json
, будут установлены в локальной папке node_modules .
Таким образом, в основном вы можете решитьВаша проблема в том, что у каждого ребенка есть свои package.json
со своими зависимостями.
Тем не менее, вы можете поместить общие зависимости в корневую папку app
.Если все ваши проекты, например, используют lodash
, вы можете поместить зависимость lodash
в надстройку package_json
.После выполнения yarn
в папке app
пакет lodash
будет установлен в node_modules
.
приложения. После этого, если вы:
require('lodash');
В любом из детей они будут искать lodash
в папке приложения node_modules
, если они не найдут lodash
в своих node_modules
.
Если вы неЕсли у вас нет корня node_modules
, вы все равно можете объявить package.json
локально для любого из подмодулей, и у них будет свой собственный node_modules
.
Так что, возможно, вы захотите избежать общих зависимостей ввсе, или, может быть, вы хотите хранить общие зависимости в папке app
.Npm предлагает вам оба варианта.
Однако, если вы не хотите обрабатывать общие зависимости, но все же беспокоитесь о необходимости хранения большого количества дублированных пакетов на локальных машинах, вы можете захотеть оформить заказpnpm - это оболочка над npm, которая позволяет сэкономить много места на локальных машинах разработки.