首页 > 其他分享 >npm install --global、--save、 --save-dev的区别和使用场景

npm install --global、--save、 --save-dev的区别和使用场景

时间:2023-02-21 17:55:53浏览次数:48  
标签:npm 项目 -- modules install save

初学者使用npm安装时总是会有疑问,怎么在安装的模块时使用的命令不一样,一会加--global(-g),一会加--save(-S),一会又变成--save-dev(-D),这些参数是干什么的,什么时候用呢?接下来详细说明一下:

npm install {moduleName} 命令:

1、在项目工作空间下执行,安装模块到项目的node_modules目录下

2、不会修改项目package.json文件

3、在初始化项目时运行npm install命令不会自动下载该模块

注:npm5及更高版本install 和install -S效果相同,如缺省默认为--save

npm install --save {moduleName}命令:

1、在项目工作空间下执行,安装模块到项目的node_modules目录下

2、修改项目package.json文件,写入到dependencies节点下

3、在初始化项目时运行npm install命令会自动下载该模块到项目的node_modules目录下

4、初始化运行npm install --production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中

npm install --save-dev {moduleName}命令:

1、在项目工作空间下执行,安装模块到项目的node_modules目录下

2、修改项目package.json文件,写入到devDependencies节点下

3、在初始化项目时运行npm install命令会自动下载该模块到项目的node_modules目录下

4、初始化运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中

npm install --global {moduleName}命令:

1、任意地方打开shell窗口皆可执行(前提npm是全局安装的,在任意地方都能访问),模块安装到全局环境中,即使在项目空间中安装也不会安装到node_modules中;

注:全局安装位置可以使用命令“npm config get prefix”查看

2、在项目空间中执行也不会修改项目package.json文件

3、在初始化项目时运行npm install命令也不会下载

总结一下:

--global:是一些需要通用的工具类安装,比如npm、yarn

--save: 是项目需要的,是项目运行必备,如:vue、element-ui等

--save-dev: 是开发时需要的,但是项目运行不必须的,不需要打包到项目里的,如:webkpack、gulp等

 

标签:npm,项目,--,modules,install,save
From: https://www.cnblogs.com/brucewang92/p/17141884.html

相关文章

  • Influxdb2修改admin 密码
    可以通过恢复管理员令牌来重置InfluxDB2管理员的密码1、在主机上找到influxd.bolt文件:/var/lib/influxdb2/influxd.bolt2、在这个混合文本和二进制json文件中搜索已知的......
  • iOS APP开发经验分享!
    一、学习iOS了解iOS的基本规范和设计准则,了解现在市场上主流的几款iPhone手机尺寸以及分辨率,弄清楚不同版本iPhone物理像素(pt)和逻辑像素(px)的关系了解不同尺寸屏幕的适配......
  • vue_element打印
    https://blog.csdn.net/Tom_sensen/article/details/111171934安装npminstallvue-print-nb--save 在main.js文件中注册importPrintfrom'vue-print-nb' Vue.......
  • FileWriter和FileReader的底层原理:缓存区技术
    FileReader的底层原理FileWriter的底层原理注意事项FileReader的底层原理字节输入流FileReader用于读出文件中的数据到内存中,而且每次只能读取一个字节。这其中内存......
  • 接口测试流程是怎样的?
    接口测试流程是怎样的?总所周知,接口测试流程是怎样的?总所周知接口测试在软件测试中是一个非常重要的一部分,其主要目的是测试应用程序的接口是否能够按照规范要求与其他系统......
  • 根据id 删除树结构中的数据
    根据id删除树结构中的数据 filterHandle(data,id){            varnewData=data.filter(x=>x.key!==id)        ......
  • vue开发大屏项目屏幕适配问题解决方案
    1.新建自定义指令文件如下: 2.文件中插入一下代码:import{App,Directive,DirectiveBinding,nextTick}from'vue'import{throttle}from'lodash-es'import......
  • 怎么在没有pdb的情况下,进行dmp的问题查看(可以定位到问题语句,但是暂时没办法看变量)
    不需要用到什么汇编知识,有能运行的,没修改过的源代码就行!首先使用vs打开dump文件,查看调用堆栈找到问题语句的内存地址然后打开自己的能运行的源代码,运行,进入断点调试状......
  • git初始化流程
    1.添加SSHkey一台主机仅需要设置一次1.1检查主机是否已经有SSHkey只需要检查~/.ssh下是否存在id_rsa.pub或id_dsa.pub。若已存在,跳转至步骤31.2生成SSHk......
  • 设计模式
    单例模式(懒汉版)线程安全/***懒汉式*线程安全*/publicclassSingleton{//私有构造方法privateSingleton(){}//在成员位置创建该类的对象......