在npm run serve的时候,首先会去项目的package.json文件里找scripts 里找对应的 serve ,然后执行 serve 的命令。其实就相当于执行vue-cli-service serve。
"scripts": {
"serve": "vue-cli-service serve"
},
npm run serve 和 vue-cli-service serve的区别
如果全局未安装vue-cli-service而直接执行vue-cli-service serve会提示'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。
npm install 在安装依赖的时候,会在node_modules/.bin/ 目录中创建好vue-cli-service 为名的几个可执行文件。
.bin 目录不是任何一个 npm 包。目录下的文件,表示一个个软链接,打开文件可以看到文件内顶部写着 #!/bin/sh ,表示这是一个脚本。
所以当使用 npm run dev 执行 vue-cli-service serve 时,虽然没有安装 vue-cli-service的全局命令,但是 npm 会到 ./node_modules/.bin 中找到 vue-cli-service 文件作为 脚本来执行,则相当于执行了 ./node_modules/.bin/vue-cli-service serve。