package.json中配置
"scripts": { "serve": "vue-cli-service serve", }
执行npm run serve实际执行vue-cli-service serve 执行npm run serve不直接执行vue-cli-service serve原因:
安装依赖的时候,通过npm i 来执行的,例如 npm i @vue/cli-service,npm 在安装依赖的时候,就会在node_modules/.bin/ 目录中创建好vue-cli-service为名的几个可执行文件。
bin目录下的文件,表示这是一个个软链接,直接执行vue-cli-service serve时由于操作系统没有这一条指令所以报错,但是npm执行的时候会到./node_modules/.bin 中找到 vue-cli-service 文件作为 脚本来执行,则相当于执行了 ./node_modules/.bin/vue-cli-service serve(最后的 serve 作为参数传入)
没有找到则从全局的 node_modules/.bin 中查找,npm i -g xxx就是安装到到全局目录
bin字段在库的源代码中的package.json里面,用于在安装时创建软链指向bin中的地址