Javascript 当有人安装我的npm模块时,如何告诉npm不要安装任何依赖项?
我已经创建了一个NPM模块,该模块已经构建并发布。因此,当有人安装它时,我的模块实际上不需要任何额外的依赖项才能正常工作,因为它已经构建好了 但是,当前的行为是,当我在其他存储库中安装模块时,它会更新package-lock.json中的其他模块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有一种称为
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本身中启用的参数。但是无论如何,谢谢。另外,如果你正在用全新的东西更改原始答案,最好给出编辑标题或类似的标题。