npm install 、npm install –save 和 npm install –save-dev的区别

本文就“npm install 、npm install –save 和 npm install –save-dev的区别”展开讨论,作者切版网,发布于2022年04月15日 全文共1106个字,预计阅读时长3分41秒
做完设计,找切版网
2022年04月15日 • 切版网(2013~2023)

切版网在vue开发时候遇到的。

转载自:https://blog.csdn.net/github_38851471/article/details/79495526

相同点

三者都会本地安装包到项目的node_modules目录中

区别

区别在于对项目package.json的修改,npm install不会修改package.json,而后两者会将依赖添加进package.json,后两者的区别请看下文循序渐进。

指定依赖包

指定包取决于你的项目,你需要在package.json 文件中列出你需要使用的包,有两种包可以选择:

  • “dependencies”: 这些包都是你的应用程序在生产环境中所需要的。
  • “devDepedencies”:这些包只是在开发和测试中需要的。手动编辑package.json文件

你可以手动编辑你的package.json。你需要在包的dependencies 对象中创建一个属性用来指出你需要添加的依赖。
例如下面的项目中,在主要生产环境中使用包my_dep的版本1.0.0,而在在开发环境中使用包 my_test_framework 的3.1.0版本。

  1. {
  2. “name”: “my_package”,
  3. “version”: “1.0.0”,
  4. “dependencies”: {
  5. “my_dep”: “^1.0.0”
  6. },
  7. “devDependencies” : {
  8. “my_test_framework”: “^3.1.0”
  9. }
  10. }

--save 和--save-dev下载标签

  • 他们表面上的区别是–save 会把依赖包名称添加到 package.json 文件 dependencies 键下,–save-dev 则添加到 package.json 文件 devDependencies 键下.
  • dependencies是运行时依赖,devDependencies是开发时的依赖。即devDependencies 下列出的模块,是我们开发时用的

比如 我们安装 js的压缩包gulp-uglify 时,我们采用的是 “npm install gulp-uglify –save-dev”命令安装,因为我们在发布后用不到它,而只是在我们开发才用到它。dependencies 下的模块,则是我们发布后还需要依赖的模块,譬如像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了。

补充:正常使用npm install时,会下载dependencies和devDependencies中的模块,当使用npm install –production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。

文章为原创或者来自于互联网,转载请注明来源,如果文章有侵权请联系,我们会及时删除。

更多相关文章

本站动态

切版网2025重启上线

发布时间:2025年04月24日

在数字化浪潮汹涌澎湃的当下,网站的建设与维护对于企业和个人的发展至关重要。切版网,作为专注于前端开发领域的专业 […]

本站动态

切版网2023年发布改版

发布时间:2023年07月11日

切版网2023年发布改版,基于bootstrap4.0(流行的跨屏响应式框架)进行重构升级,整个页面看起来更加 […]

本站动态

UEditor如何新增自定义按钮方法

发布时间:2022年08月27日 标签:

UEditor是国内比较主流的编辑插件,是百度出品,不得不说百度虽然也做过很多产品最后放弃,不过ueditor […]

本站动态

f.lux, 一款真的很强大的护眼软件

发布时间:2022年08月27日

经常做前端切图开发,所以一定要保护好眼睛,最近在使用笔记本的时候,总是觉得有的时候太过于刺眼,此时就萌生了想要 […]

本站动态

外部h5页面跳转微信小程序

发布时间:2022年08月27日

h5页面通过微信提供的云开发-云函数功能进行直接跳转到微信指定小程序内部页面(h5界面可以是内嵌在某app内部 […]

本站动态

网页切图通过rel=”preload”进行内容预加载

发布时间:2022年08月27日

<link> 元素的 rel 属性的属性值preload能够让你在你的HTML页面中 <he […]

查看更多