Локальный модуль можно указывать через link:
или через file:
. В первом случае создаётся симлинк на модуль в node_modules
, во втором модуль туда просто копируется. В первом случаем может не завестись по разным эзотерическим причинам, но если завелось - удобнее конечно использовать его.
Если же использовать не npm
, а yarn
- добавляются ещё удобные варианты:
1. yarn workspaces: вы кладёте несколько ваших модулей\приложений в один реп, и yarn
собирает все зависимости в один node_modules
и линкует использующийся модули туда же. В итоге отсутствует дубликация файлов и все модули работают с одними и теми же либами - что полезно в деве если используется расширение сторонних модулей. Очень удобно.
2. yarn link: это чисто локальная фишка для разработки, вы делаете yarn link
в корне одного модуля и он регистрируется глобально, после чего в другом модуле где хотите использовать делаете yarn link "имя"
и он линкуется.