php执行npm命令_npm系列之命令执行

当我想使用vue的脚手架来创建一个项目的时候,我应该怎么做?

执行命令 npm install -g @vue/cli 全局安装,之后就可以在控制台中使用vue create programName 来创建一个项目。

为什么可以直接使用vue命令?

  • 这类支持命令的依赖会在项目中指定命令中可执行文件的位置,在package.json中的bin属性中指定。command: filePath

67c063950dd2514143f4e6ae4a95ac31.png
  • 我们执行全局安装时,依赖会被安装到全局的依赖目录(可以用npm root -g查看)。
    如:

2ec36bbae8eb0acf96e8245a4a5bff69.png


npm install 时会分析每个依赖中package.json中的bin属性,会在lib同级的bin目录中创建一个名为command的文件软链接,指向filePath.

f0278ab70301082d33defa40165e84c2.png

(不同的环境具体路径可能不一样,我这边是装了nvm,管理node的版本的)

294d5633e6cbce924e0fb7e042fc69b9.png
  • 系统将bin目录写入环境变量
    (mac用冒号分隔不同的路径)

9601cd0f3dca4c3a5d87b9753a9199b4.png

因为bin在环境变量中,所以我们能在命令中中直接使用这些命令。

全局安装可以全局使用命令,那局部安装勒?

当我们在项目中执行npm install packageName 时,就可以在项目中安装某一个依赖。
同样地,如果这个依赖是的package.json中是有bin属性的。
会在node_modules/.bin目录中创建一个名为command的文件软链。

cddec56affe1e29a898e39bb761b0446.png

那局部安装的项目要怎么使用勒?

package.json中的script字段可以用来自定义脚本命令,使用npm run command来执行。
- 当执行npm run command时,会自动创建一个shell,再这个shell里面执行指定的脚本命令。因此,只要是shell可以运行的命令,就可以写在npm script 中。
- npm创建的shell,会将当前目录的nodemodules/.bin目录交到环境变量中,执行结束后,再将环境变量恢复原样

这就意味着,node_modules/.bin目录中的所有命令,可以使用添加再script中进行调用。

ec28bf3669090e17f25741e8658e1c60.png
在performance项目中执行script中的命令,执行时将项目中的node_modules/.bin目录添加到了环境变量中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值