Ви абсолютно можете поділитися каталогом node_modules серед проектів.
З документації вузла :
Якщо ідентифікатор модуля, переданий в require (), не є власним модулем і не починається з '/', '../' або './', тоді вузол починається з батьківського каталогу поточного модуля і додає / node_modules і намагається завантажити модуль з цього місця.
Якщо його там не знайти, він переміщується до батьківського каталогу і так далі, доки не буде досягнутий кореневий каталог файлової системи.
Наприклад, якщо файл у '/home/ry/projects/foo.js' називається require ('bar.js'), то вузол буде виглядати в наступних місцях у такому порядку:
/home/ry/projects/node_modules/bar.js /home/ry/node_modules/bar.js /home/node_modules/bar.js /node_modules/bar.js
Тож просто помістіть папку node_modules всередину каталогу проектів і вставте будь-які потрібні вам модулі. Просто вимагайте їх, як звичайні. Коли вузол не знаходить каталог node_modules у папці проекту, він автоматично перевірить батьківську папку. Тож зробіть структуру каталогів такою:
-myProjects
--node_modules
--myproject1
---sub-project
--myproject2
Ось так, навіть залежності вашого підпроекту можуть спиратися на ваше головне сховище node_modules.
Один недолік, коли ви робите це таким чином, - вам доведеться створювати файл package.json вручну (якщо хтось не знає способу автоматизувати це за допомогою grunt або чогось іншого). Коли ви встановлюєте свої пакунки та додаєте аргумент --save arg до npm installкоманди, він автоматично додає його до розділу залежностей або вашого package.json, що зручно.
requireмодуль d. В іншому випадку ні, немає офіційної "центральної"node_modulesпапки для використанняrequire().