【第27题】npm run xxx 的执行过程
2022-04-16 06:09:15 来源:程序员客栈
面试题目(字节):
答案解析:日常开发中,经常用到的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时安装的路径;如果还找不到,就会从系统环境变量中查找;再找不到就会报错了;关注我关注【前端名狮】,更多精彩内容陪伴你!
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...