Appearance
干了七八年前端了,还闹不清install和install -D的区别
最近开发个小项目,尝试富文本插件的时候换了一个又一个,不断地install / uninstall
,旁边的兄弟问我,为啥你不安装试验包?
npm
安装插件一般有几个命令: 以下是将选中部分的内容整理成的表格形式:
命令 | 描述 |
---|---|
npm install | 安装 [package.json](file://C:\Users\maple\Documents\MyNote\node_modules@algolia\client-common\package.json) 中全部的插件。 |
npm install xxx | 安装 xxx 插件到项目中,并将该包添加到 dependencies 列表。 |
npm install xxx -D(或--save-dev) | 安装 xxx 插件到项目中,并将该包添加到 devDependencies 列表。 |
npm install xxx --save-optional | 将该包添加到 optionalDependencies 列表。 |
npm install xxx --no-save | 安装 xxx 插件,但不将 xxx 添加到 [package.json](file://C:\Users\maple\Documents\MyNote\node_modules@algolia\client-common\package.json) 中。 |
npm uninstall xxx | 卸载 xxx 插件。 |
install xxx
安装指定名称的包,并且默认情况下会将该包添加到dependencies
列表中。
就是说包是项目正常运行所必需的,无论是在开发环境、测试环境还是生产环境中都需要它。
install xxx -D 或 install xxx --save-dev
安装指定名称的包,将该包添加到devDependencies
列表中。
这些包只在开发或构建过程中需要用到,而在生产环境中不需要。例如,测试库(如Jest)或构建工具(如Webpack)就属于这一类。
install xxx --save-optional
安装指定名称的包,将其添加到optionalDependencies
列表中。
这些包是可选的,它们可能会在某些情况下被用到,但并不需要它们。尤其是在多平台开发的时候,Mac上要用到的插件可能在Windows上用不到。
install xxx --no-save
安装包但不添加到package.json文件中。
适用于想临时安装一个包用于试验,而不希望它影响你的项目配置。
速记
- 常规的就用
install
- 开发用的就用
install -D
- 多平台的时候用
install --save-optional
- 临时试验用
install --no-save