Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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
Javascript 当有人安装我的npm模块时,如何告诉npm不要安装任何依赖项?_Javascript_Node.js_Npm_Npm Install_Node Modules - Fatal编程技术网

Javascript 当有人安装我的npm模块时,如何告诉npm不要安装任何依赖项?

Javascript 当有人安装我的npm模块时,如何告诉npm不要安装任何依赖项?,javascript,node.js,npm,npm-install,node-modules,Javascript,Node.js,Npm,Npm Install,Node Modules,我已经创建了一个NPM模块,该模块已经构建并发布。因此,当有人安装它时,我的模块实际上不需要任何额外的依赖项才能正常工作,因为它已经构建好了 但是,当前的行为是,当我在其他存储库中安装模块时,它会更新package-lock.json中的其他模块 有没有办法避免这种行为,因为我的模块已经预构建好了,不需要任何依赖项就可以正常工作?NPM有一种称为optionalDependencies npm install package-name --save-optional 此命令将把包另存为可选依赖

我已经创建了一个NPM模块,该模块已经构建并发布。因此,当有人安装它时,我的模块实际上不需要任何额外的依赖项才能正常工作,因为它已经构建好了

但是,当前的行为是,当我在其他存储库中安装模块时,它会更新package-lock.json中的其他模块


有没有办法避免这种行为,因为我的模块已经预构建好了,不需要任何依赖项就可以正常工作?

NPM有一种称为
optionalDependencies

npm install package-name --save-optional
此命令将把包另存为可选依赖项

然后你可以用

npm install --no-optional

防止安装可选依赖项。

一种方法是将项目创建为嵌套项目

main-project
|- package.json
|- sub-project
   |-package.json
主项目
中构建文件后,将其放置在
子项目
中,该子项目的
package.json
没有列出依赖项。然后,您可以将内部
子项目作为无依赖项模块发布到npm


话虽如此,我认为通常的做法是像往常一样包含依赖项—只要正确导出生成的文件,用户正确导入,那么无论是否安装了依赖项—在它们生成时,理想情况下,它们只包含它们需要的内容(而不是项目的依赖项)如果一切顺利。

Nikhil Thakur说了什么,也看看这个。也许将依赖项添加为开发依赖项会有所帮助?@ChiragRavindra已经考虑过了。我只是想知道是否有更好的方法:)我曾经考虑过这个解决方案,但考虑的更多是在npm本身中启用的参数。但是无论如何,谢谢。另外,如果你正在用全新的东西更改原始答案,最好给出编辑标题或类似的标题。