为什么你不希望使用NPM的`
我读了有关使用--save
选项here并和它说,它会安装包添加到您的package.json
文件。但是,为什么不是这个全自动的吗?难道你总是希望这个?
我的理解是,node_modules
是实际持有你的包的代码和package.json
是已安装的所有软件包的参考/列表,这样,当你推到一个回购协议,你只能推后了,而不是目录前者,以节省空间。
然后,当其他人克隆或叉子把你的回购,他们将不得不参考,并安装所有必需的包掉你的项目工作的package.json
。
因此,你不会总是希望你的包是在package.json
为了让每个人都获得需要什么?
随着包管理器像鲍尔或NPM,我觉得--save
是不是自动的,原因如下:
- 并非所有的依赖是生产依赖(见
--save-dev
)。 - 有时你需要不改变你的
package.json
测试包。 - 您可能更愿意在本地安装一些软件包,全球计算机上安装了你的同事。
没有--save
安装的软件包不被视为依赖,并保持独立。你可以很容易地发现它们与npm ls
无关包,并立即npm prune
删除它们。
现在,如果你认为无关的包是一件坏事,你当然可以用--save
每次你安装一个新包。出于实际的原因,要知道,你可以使用快捷-S
代替--save
的。此外,如果你经常忘记使用该选项,您可以定义在shell的别名。
最后,如果你使用的纱线,注意到yarn add
命令将每个包添加作为一个依赖。没有--save
标志了。
为什么你不希望使用NPM的`
我读了有关使用--save
选项here并和它说,它会安装包添加到您的package.json
文件。但是,为什么不是这个全自动的吗?难道你总是希望这个?
我的理解是,node_modules
是实际持有你的包的代码和package.json
是已安装的所有软件包的参考/列表,这样,当你推到一个回购协议,你只能推后了,而不是目录前者,以节省空间。
然后,当其他人克隆或叉子把你的回购,他们将不得不参考,并安装所有必需的包掉你的项目工作的package.json
。
因此,你不会总是希望你的包是在package.json
为了让每个人都获得需要什么?
随着包管理器像鲍尔或NPM,我觉得--save
是不是自动的,原因如下:
- 并非所有的依赖是生产依赖(见
--save-dev
)。 - 有时你需要不改变你的
package.json
测试包。 - 您可能更愿意在本地安装一些软件包,全球计算机上安装了你的同事。
没有--save
安装的软件包不被视为依赖,并保持独立。你可以很容易地发现它们与npm ls
无关包,并立即npm prune
删除它们。
现在,如果你认为无关的包是一件坏事,你当然可以用--save
每次你安装一个新包。出于实际的原因,要知道,你可以使用快捷-S
代替--save
的。此外,如果你经常忘记使用该选项,您可以定义在shell的别名。
最后,如果你使用的纱线,注意到yarn add
命令将每个包添加作为一个依赖。没有--save
标志了。