npm install及其配置参数使用细则

npm install是用来安装项目所依赖的模块的。当我们使用git clone将线上项目下载到本地时,并没有下载node_modules这个目录。因为它保存了项目所依赖的所有模块,通常有几百兆大。虽然我们没有得到node_modules这个文件夹,但我们可以通过pakage.json这个文件的值项目所依赖的模块。然后,运行npm install来安装pakage.json中dependencies下的所有模块。npm install <=>npm i
npm install的后面还可以跟一些参数。(符号<=>表示等价)

npm intsall moduleName

表示安装模块到项目node_modules目录下,不会将模块依赖写入pakage.json的devDependencies或dependencies中,这也就意味着,当别人git clone你的项目时,不知道你依赖了这个模块,运行npm install时也不会下载这个模块,所以当启动项目时很有可能会报错说某个模块找不到。

npm install -g moduleName <=> npm install modulesName -g

表示安装模块到全局的node_modules文件夹下(也就是说你的电脑在安装nodejs时指定的一个位置),该命令同样不会把依赖写入pakage.json,所以存在和上条同样的问题。

npm install -save moduleName <=> npm install moduleName --save <=> npm install moduleName -S

表示安装模块到项目node_modules目录下,会将模块依赖写入pakage.json的dependencies中。默认情况下,运行npm install会将模块下载到项目目录下。

npm install -save-dev moduleName <=> npm install moduleName --save-dev <=> npm install moduleName -D

表示安装模块到项目node_modules目录下,会将模块依赖写入pakage.json的devDependencies中。默认情况下,运行npm install会将模块下载到项目目录下。

上面说到,默认情况下,运行npm install会下载模块,但是当运行npm install --production或者注明NODE_ENV的值时production时,pakage.json中devDependencies中的模块不会被自动下载。这是因为,devDependencies中指定的模块是在开发时需要用的,比如gulp,dependencies中指定的是项目运行必备的,比如express。

上面也有说到项目下的node_modules目录和全局下的node_nodules目录,他们在node搜索模块的过程中优先级是不同的,如下图所示。
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值