#node.js #npm #node-modules #package.json #npm-pack
#node.js #npm #узел-модули #package.json #npm-pack
Вопрос:
У меня есть несколько локальных модулей, которые я хочу включить в свой пакет для отправки на сервер. Поскольку эти локальные пакеты отсутствуют в реестре 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"
]
}
Как я могу включить эти локальные модули в пакет разработки?
Локальный модуль сам содержит зависимости, не уверен, что это усложняет ситуацию?
Комментарии:
1. Есть ли локальные зависимости от GitHub?
2. В данный момент я пытаюсь сделать то же самое, и, похоже, это работает. Одна ошибка заключается в том, что вам нужно запустить
npm install
после настройки локальной зависимости, чтобы npm создал ссылку в вашей папке node_modules на local-module .
Ответ №1:
Некоторое время назад у меня была похожая проблема, и хорошее и простое решение — просто поместить ваши локальные модули в частные репозитории git (которые теперь бесплатны на GitHub, спасибо Microsoft 🙌)
Затем, в вашем package.json
, просто добавьте:
"dependencies" : {
"name1" : "git://github.com/user/project.git#commit-ish",
"name2" : "git://github.com/user/project.git#commit-ish"
}
Источник, документы npm
Ответ №2:
Я считаю, что подход Алисии самый чистый. Однако для тех, кто сталкивается с той же проблемой, что и я, когда серверу требуется архив, но у него не установлен git, я добавил свои локальные пакеты в отдельную папку в проекте под названием repo и сослался на них в package.json как;
"dependencies": {
"my-local-package": "file:./repo/my-local-package"
}
Ответ №3:
Существует также yalc, который создает локальное хранилище для локальных пакетов. После добавления локального пакета в хранилище вы можете использовать yalc для копирования локального пакета в другой пакет. Вы также можете использовать его для обновления локальных пакетов.