强制忽略由npm / yarn安装的一个依赖关系的依赖关系
我的nodejs项目使用一些库。 一个库pouchdb
将尝试安装相当多的依赖项。 有一个叫做leveldown
,它将尝试从Internet下载Node.js头,然后从头开始重build所有东西。 其实我根本不需要这个leveldown
。 但他们的社区build议我私下fork一个pouchdb
并修改package.json以排除任何我不需要的依赖。
这是我对npm / yarn人的一般问题。 运行npm install
或yarn install
,是否可以防止下载特定的库?
不,从安装中排除子依赖是不可能的。
但是,在你的情况下,你不需要私下分叉pouchdb
。 PouchDB具有作为npm包发布的自定义构build: https ://pouchdb.com/custom.html。
如果您想安装pouchdb以便在浏览器中使用,请使用npm install pouchdb-browser
。
如果您使用的是其他存储适配器(如内存适配器),则可能需要npm install pouchdb-core
。 请注意, pouchdb-core
不包含pouchdb-core
一些function。
- 如果您需要使用
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'));