#node.js #npm #webpack #node-modules
#node.js #npm #webpack #узел-модули
Вопрос:
Нам нужно указать папку node_modules для модуля узла с локальной ссылкой, который находится во внешней папке относительно текущей папки приложения.
У нас есть сценарий, в котором мы ссылаемся на js-файлы внешнего общего модуля в другом клиентском приложении, однако одни и те же модули узла, являющиеся ссылками в обоих, дублируются в окончательной сборке. мы попытались использовать webpack.optimize.DedupePlugin() без какого-либо успеха.
Структура каталогов выглядит следующим образом:
- У нас есть частный модуль npm на локальном диске под названием «общий», а затем у нас есть папка нашего проекта под названием ‘приложение’.
- Обе папки находятся на одном уровне в структуре каталогов и находятся под одним и тем же корнем.
- Само ‘приложение’ является модулем npm и имеет файл package.json со своей собственной папкой node_modules.
Мы хотим указать через конфигурацию либо через npm, либо через веб-пакет, чтобы приложение разрешало ссылки из указанного пути node_modules и не ссылалось на какое-либо другое местоположение node_modules, включая местоположение в общем модуле.
|—root
|— common/node_modules
|— app/node_modules
Ответ №1:
Вы можете использовать ссылку npm или просто символическую ссылку. Сделайте что-то подобное:
cd root/app (your app directory)
npm link ../common
или
cd root/app (your app directory)
ln -s ../common node_modules/common
Комментарии:
1.
npm link
работает, но я должен указатьapp/node_modules
папку в моемwepback.resolve.fallback
, чтобы она работала, не кажется правильным. Разве нет лучшего способа сделать это?