【第27题】npm run xxx 的执行过程

前端名狮

共 678字,需浏览 2分钟

 ·

2022-04-16 02:16

面试题目(字节):

日常开发中,经常用到的npm run xxx命令的执行过程是什么?

答案解析:

npm run start为例

最常见的就是"start": "vue-cli-service serve"

执行过程:

  1. npm会创建一个shell脚本;
  2. 在shell脚本中,会调用执行node_modules/.bin/vue-cli-service
  3. 其中node_modules/.bin,会被临时加入到系统环境变量,所以package.json中可以省略,直接写成vue-cli-service

node_modules/.bin/vue-cli-service 是什么呢?如何生成的?

打开文件夹,我们可以直观的看到,其实.bin文件夹下都是快捷键,也就是软链接。

.bin文件夹下,执行ls -l命令,可以看到软连接指向的已安装的模块@vue/cli-service/bin/vue-cli-service.js

至于.bin文件夹中的软链接其实就是npm install时,根据已安装模块中的package.json中的bin字段进行映射关系生成的,key和value分别对应软连接的名字和指向。

总结

  1. 执行npm run xxx时,会先从当前目录下的node_modules/.bin中去查找对应的可执行程序执行;
  2. 如果无法找到,就会在npm的全局安装路径进行查找,也就是npm i -g xxx时安装的路径;
  3. 如果还找不到,就会从系统环境变量中查找;
  4. 再找不到就会报错了;

关注我

关注【前端名狮】,更多精彩内容陪伴你!

浏览 61
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报