【第27题】npm run xxx 的执行过程
面试题目(字节):
日常开发中,经常用到的
npm run xxx
命令的执行过程是什么?
答案解析:
以npm run start
为例
最常见的就是"start": "vue-cli-service serve"
,
执行过程:
npm会创建一个shell脚本; 在shell脚本中,会调用执行 node_modules/.bin/vue-cli-service
,其中 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分别对应软连接的名字和指向。
总结
执行 npm run xxx
时,会先从当前目录下的node_modules/.bin
中去查找对应的可执行程序执行;如果无法找到,就会在npm的全局安装路径进行查找,也就是 npm i -g xxx
时安装的路径;如果还找不到,就会从系统环境变量中查找; 再找不到就会报错了;
关注我
关注【前端名狮】,更多精彩内容陪伴你!
评论