Npm install会执行某些脚本,例如preinstall
,postinstall
和其他。
我无法找到这些脚本的明确列表和顺序。对这个过程进行一些澄清和详细的概述会很棒。
答案 0 :(得分:8)
在NPM页面上对其进行了描述:npm-scripts。 这有点神秘,但逻辑很简单。
E.g。赛跑
npm install
将执行preinstall install postinstall prepublish
- 这是非常特殊的情况,只有在没有参数的情况下才会运行预发布,即在本地运行。同时检查您正在运行的npm版本,因为prepublish
的本地install
已在4.x中弃用,而采用issue 10074中描述的另一种方法,并在此处有一个很好的解释blog。它归结为这样一个事实:当你克隆一个包时,没有参数的npm install
运行,并且准备它是有意义的。但人们不喜欢这种行为,因此决定将预发布分为两个阶段。在发布和本地prepare
期间,prepublish
代替npm install
运行。 prepublishOnly
仅与npm publish
一起运行。
因此
npm publish
将在4.x
prepublish publish postpublish
或prepare prepublishOnly publish postpublish
最后,对于版本6.x,npm install
运行preinstall install postinstall prepare
而npm publish
运行prepare prepublish publish postpublish
。
据我所知,所有其他命令都遵循preX
,X
,postX
的逻辑。