npm install 中 --save 和 --save-dev 是什么?

npm,全名 Node Package Manager,套件管理工具,package.json 会记下你在项目中安装的所有套件。

假设在项目中安装 lodash

bash 复制代码
npm i --save lodash

这样在 dependencies 中会出现:

如果修改了导入方式:

bash 复制代码
npm i --save-dev lodash

就会看到 lodash 跑到了 devDependencies 中:

官方解释:

"dependencies": Packages required by your application in production.

"devDependencies": Packages that are only needed for local development and testing.

可以想像 dependencies 的组件是你的程式 build 出来之后发布版本仍然需要的组件,举例来说,我需要 sass 套件将我的 sass 转成 css,但是发布版本已经是 css 了,就不需要再有 sass 套件了。又或者我会用 babel 来把我的 ES6 语法转为 ES5 ,这样的转换功能一样只需要在我的开发环境之下,所以可以安装在 devDependencies 就好。

在 Node v5.0.0 之后 --save 已经成为了预设指令,即 npm i --save lodash可以写为npm i lodash即可。--save-dev可以简写为-D

bash 复制代码
npm i --save-dev lodash
# 等同于
npm i -D lodash

Node 查看版本:

bash 复制代码
node -v
npm -v
相关推荐
hj5914_前端新手8 分钟前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript
薛定谔的算法13 分钟前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构
前端·react.js·前端框架
Hilaku23 分钟前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
yangcode28 分钟前
iOS 苹果内购 Storekit 2
前端
LuckySusu29 分钟前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript
LuckySusu30 分钟前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析
前端·javascript
LuckySusu34 分钟前
【js篇】深入理解 JavaScript 作用域与作用域链
前端·javascript
LuckySusu34 分钟前
【js篇】call() 与 apply()深度对比
前端·javascript
LuckySusu38 分钟前
【js篇】addEventListener()方法的参数和使用
前端·javascript
该用户已不存在40 分钟前
6个值得收藏的.NET ORM 框架
前端·后端·.net