Пакет Npm для включения локальных модулей

У меня есть несколько локальных модулей, которые я хочу включить в свой пакет для отправки на сервер. Поскольку эти локальные пакеты отсутствуют в реестре npm, они должны быть частью пакета.

Я попробовал несколько способов получить папку node_modules, включенную в пакет, используя пакет npm, однако кажется, что это вообще невозможно?

Во-вторых, я попытался перечислить локальные модули в bundledDepencies в файле package.json и использовать пакет npm, однако это также не включает локальные модули, несмотря ни на что;

{
    "name": "dev",
    "version": "1.0.0",
    "main": "main.js",
    "dependencies": {
        "local-module": "file:../../local-module"
    },
    "bundledDependencies": [
        "local-module"
    ]
}

Как я могу включить эти локальные модули в пакет dev?

Локальный модуль сам содержит зависимости, не уверен, что это усложнит ситуацию?

2 ответа

Решение

Некоторое время назад у меня была похожая проблема, и хорошим и простым решением было просто поместить ваши локальные модули в частные git-репозитории (которые теперь бесплатны на GitHub, спасибо Microsoft)

Тогда в вашем package.json, просто добавь:

"dependencies" : {
  "name1" : "git://github.com/user/project.git#commit-ish",
  "name2" : "git://github.com/user/project.git#commit-ish"
}

Источник, нпм документы

надеюсь, это поможет

Я верю, что подход Алисии - самый чистый. Однако для кого-то, кто сталкивается с той же проблемой, что и я, когда серверу требуется tarball, но у него нет установленного git, я добавил свои локальные пакеты в отдельную папку в проекте с именем repo и сослался на них в package.json как;

"dependencies": {
  "my-local-package": "file:./repo/my-local-package"
}

Также существует yalc, который создает локальное хранилище для локальных пакетов. После добавления локального пакета в магазин вы можете использовать yalc для копирования локального пакета в другой пакет. Вы также можете использовать его для обновления локальных пакетов.

Другие вопросы по тегам