一、npm run build 执行的顺序是什么,到底执行了什么
众所周知,npm run 执行的是package.json里面scripts对象的key对应的value值,npm run serve实际执行的就是npm run vue-cli-service serve
首先我们来做个测试,新增一个test命令,如期的输出了“hello vue”
执行了test 后面的echo , 那么 npm run vue-cli-service serve 后面的serve 是干啥的呢?再来看看,其实就是将后面的当成了参数
我们再换个写法,毋庸置疑,肯定会报错,因为找不到自定义的my-npm-test
在node_modules文件夹下创建如下文件夹,这个js文件就算将参数打印出来,process.argv具体可参照
但是让这个文件执行的话还需要创建相对应的脚本
这个shell会将当前项目的可执行依赖目录(即node_modules/.bin)添加到环境变量path中,当执行之后之后再恢复原样。
就是说脚本命令中的依赖名会直接找到node_modules/.bin下面的对应脚本,而不需要加上路径(官网(执行npm help run)也有提到过)。
举一反三,npm run serve也就不难理解了,node_modules/.bin下面一定有两个vue-cli-service的文件,然后很容易就会找到vue-cli-service.js 这个文件(未完待续)