Принудительно игнорировать зависимость одной зависимости от установки npm/yarn
мой проект nodejs использует некоторые библиотеки. Одна библиотека pouchdb
попытается установить довольно много зависимостей. Есть один под названием leveldown
, который попытается загрузить узел.заголовок js из интернета, а затем перестроить все с нуля. На самом деле мне не нужно leveldown
на всех. Но их сообщество предлагает мне в частном порядке развить pouchdb
и изменить пакет.json, чтобы исключить любую зависимость, которая мне не нужна.
вот мой генерал вопрос к людям npm / yarn. Можно ли предотвратить загрузку определенной библиотеки во время выполнения npm install
или yarn install
?
1 ответов
нет, невозможно исключить суб-зависимость от установки.
однако, в вашем случае, вам не нужно в частном порядке вилка pouchdb
. PouchDB имеет пользовательские сборки, опубликованные как пакеты npm:https://pouchdb.com/custom.html.
если вы хотите установить pouchdb для использования в браузере, npm install pouchdb-browser
.
если вы используете другие адаптеры хранения (например, адаптер в памяти), вы можете захотеть . Заметить что pouchdb-core
не включает некоторые функции, которые поставляются с pouchdb
.
- Если вам нужно использовать
query()
илиviewCleanup()
, вам необходимо установитьpouchdb-mapreduce
и передать его как плагин. - Если вам нужно использовать
replicate()
иsync()
, вам необходимо установитьpouchdb-replication
и передайте его как плагин.
пример использования:
const PouchDB = require('pouchdb-core')
.plugin(require(WHATEVER_STORAGE_ADAPTER_YOU_ARE_USING))
.plugin(require('pouchdb-mapreduce'))
.plugin(require('pouchdb-replication'));