javascript – 为什么不想使用`–save`选项进行npm安装?

我阅读了关于使用–save选项 here,并且说它会将已安装的包添加到您的package.json文件中.但为什么这不是自动的?你不会一直想要这个吗?

我的理解是,node_modules是实际保存包的代码的目录,package.json是您安装的所有软件包的引用/列表,当您将其推送到repo时,只能将后者而不是前者,以节省空间.

然后,当其他人克隆或分销您的回购时,他们将使用package.json来引用并安装所有必需的软件包来处理您的项目.

因此,你不会总是希望你的包在package.json中,以便每个人都能得到需要的东西?

解决方法

像Bower或者npm这样的包裹经理,我认为 – 保存并不是自动的,原因如下:

>所有依赖关系不是生产依赖关系(请参阅–save-dev).
>有时你需要测试一个包而不改变你的package.json.
>您可能希望在本地安装一些您的同事在其计算机上全局安装的软件包.

没有安装的软件包不被视为依赖关系,而是保持分开.您可以轻松地检测到它们作为具有npm ls的无关软件包,并用npm prune即时删除它们.

现在,如果您认为无关的软件包是坏事,您当然可以使用–save每次您安装一个新的软件包.出于实际的原因,请注意,您可以使用-S快捷方式而不是-save.此外,如果您经常忘记使用该选项,则可以在shell中定义别名.

最后,如果您使用纱线,纱线添加命令将添加每个包作为依赖.没有–save标志了.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...