发布具有不同依赖关系的两个版本的npm模块

时间:2017-10-09 10:40:02

标签: node.js

我正在研究一个分布在两个版本中的节点库:full和lite。 Lite版本使用较短的依赖项列表而不是完整的依赖项列表 我使用两个具有不同入口点的webpack配置构建它们。 问题是在package.json中只有一个“依赖项”列表,所以即使实际上lite版本在消费者安装库时不需要很多依赖项,它们仍将获取所有这些依赖项。有什么方法可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为你必须创建两个独立的包。如果可能的话,制作" lite"版本"完整"的依赖关系版本,以限制重叠量。

然后,您可以将这两个版本命名并发布为scoped packages

"name" : "@your-package/full"

"name" : "@your-package/lite"

另一种方法是执行Sequelize对其数据库驱动程序的操作:不依赖于任何操作,当用户尝试使用特定驱动程序时,发出他们需要安装特定驱动程序的消息首先打包。在你的情况下,如果用户试图使用一些" full"功能,但你发现他们正在使用" lite"版本,显示如何安装完整版本的说明。