Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 发布具有不同依赖关系的两个版本的npm模块_Node.js - Fatal编程技术网

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

Node.js 发布具有不同依赖关系的两个版本的npm模块,node.js,Node.js,我正在开发一个节点库,它分为两个版本:full和lite。 lite版本使用的依赖项列表比完整版本短,并且 我使用两个具有不同入口点的网页包配置构建它们。 问题是,在package.json中只有一个“依赖项”列表,因此即使事实上lite版本在消费者安装库时不需要很多依赖项,他们仍然会获取所有依赖项。解决这个问题的方法是什么?我认为您必须创建两个单独的包。如果可能,将“lite”版本作为“完整”版本的依赖项,以限制重叠量 然后,您可以将这两个版本命名为并发布为: 以及: 另一种方法是像Seque

我正在开发一个节点库,它分为两个版本:full和lite。 lite版本使用的依赖项列表比完整版本短,并且 我使用两个具有不同入口点的网页包配置构建它们。
问题是,在package.json中只有一个“依赖项”列表,因此即使事实上lite版本在消费者安装库时不需要很多依赖项,他们仍然会获取所有依赖项。解决这个问题的方法是什么?

我认为您必须创建两个单独的包。如果可能,将“lite”版本作为“完整”版本的依赖项,以限制重叠量

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

以及:

另一种方法是像Sequelize这样处理其数据库驱动程序:不依赖任何驱动程序,当用户尝试使用特定驱动程序时,会发出一条消息,说明他们需要先安装特定的驱动程序包。在您的情况下,如果用户尝试使用某些“完整”功能,但您检测到他们正在使用“lite”版本,请显示有关如何安装完整版本的说明

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