nodejs:npm i与npm i -S、npm i -D区别

npm i(或 npm install)

pnpm中如果pnpm add安装不了,可以试试使用pnpm i

这是最基础的安装命令,用于安装项目的依赖项。

若在项目根目录下运行,且没有指定具体的包名,则会安装package.json文件中列出的所有依赖项(包括dependencies和devDependencies)。

如果指定了包名,如 npm i lodash,则会把这个包安装到当前项目的node_modules目录下,并且如果当前目录存在package.json文件,且没有显式指定-D或-S,默认当作生产环境依赖(除非包已经被明确定义在devDependencies中)。

npm i -S 或 npm install --save

-S 或**--save** 标志告诉npm将安装的包作为一个生产环境依赖(production dependency)。

运行 npm i -S packageName 时,npm不仅会安装包,还会自动将包及其版本号添加到package.json文件的dependencies对象中,这样当其他人克隆项目并运行npm install时,这些生产环境依赖会自动安装。

npm i -D 或 npm install --save-dev

-D 或**--save-dev** 标志告诉npm将安装的包作为一个开发环境依赖(development dependency)。

运行 npm i -D packageName 时,npm同样会安装包,但它会将包及其版本号添加到package.json文件的devDependencies对象中,而不是dependencies。

总结来说,-S****用于标记生产环境必不可少的依赖-D用于标记仅在开发环境中需要的依赖 ,如构建工具、测试框架等。在生产部署时,通常只会安装dependencies中的包,而不安装devDependencies中的包。

相关推荐
芙蓉王真的好115 小时前
Angular CDK 响应式工具指南:从基础到自适应布局应用
前端·javascript·angular.js
Boale_H15 小时前
如何获取npm的认证令牌token
前端·npm·node.js
qq_3391911415 小时前
vue3 npm run dev局域网可以访问,vue启动设置局域网访问,
前端·vue.js·npm
帅气的花泽类15 小时前
npm error code ERR_SSL_TLSV1_UNRECOGNIZED_NAME
前端·npm·node.js
明仔的阳光午后17 小时前
React 入门 01:快速写一个React的HelloWorld项目
前端·javascript·react.js·前端框架·reactjs·react
sorryhc17 小时前
Webpack中的插件流程是怎么实现的?
前端·webpack·架构
残冬醉离殇17 小时前
原来dom树就是AST!!!
前端
~无忧花开~17 小时前
掌握Axios:前端HTTP请求全攻略
开发语言·前端·学习·js
橙某人18 小时前
Vue3 + Pinia 移动端Web应用:页面缓存策略解决方案💡
前端·javascript·vue.js
小Pawn爷18 小时前
构建Django的Web镜像
前端·python·docker·django