在前端开发的工作当中,使用npm run xxx命令启动本地开发环境。但是当执行npm run xxx命令后,究竟是如何触发各种构建工具的构建命令以及启动 Node 服务等功能的呢?
首先我们要知道,node作为JavaScript的运行时,可以把.js文件当做脚本来运行
执行npm run xxx时,首先会去项目的package.json文件中查找scripts里找对应的xxx,然后执行xxx的命令,例如启动vue项目 npm run dev的时候,就是执行了vue-cli-service serve这条命令。
既然npm run xxx是为了执行vue-cli-service serve,那为什么不直接执行vue-cli-service serve?
之所以不直接执行vue-cli-service serve,是因为系统中不存在存在vue-cli-service serve指令。
既然系统中不存在vue-cli-service serve指令,为什么执行npm run dev的时候,也就是执行vue-cli-service serve,为什么这样它就能成功,而且不报指令不存在的错误呢?
首先我们在安装依赖的时候,是通过npm install 来执行的,我们在安装vue/cli-service依赖的时候,就会在node_moduless/.bin/目录下创建好vue-cli-service为名的几个可执行的文件。