使用npm install时的执行顺序是什么?当我使用npm install时,它看起来像-1.开发依赖1.预安装脚本1.相依性1.安装1.安装后但在不同条件下,其表现不同。什么是正确的执行顺序?
uxh89sit1#
从npm doc开始,顺序为:
prepare(since npm@4.0.0)
Package 前运行,即在npm publish和npm pack期间在本地npm install上运行,不带任何参数在预发布之后但在预发布之前运行
预发布(已弃用)
在npm publish期间不运行,但在npm ci和npm install期间运行。更多信息请参见下文。
仅预发布
在包准备和打包之前运行,仅在npm发布上运行。
**预 Package **
在打包tarball之前运行(在“npm pack”,“npm publish”,以及安装git依赖项时)。注意:“npm run pack”与“npm pack”不同。“npm run pack”是任意用户定义的脚本名称,其中“npm pack”是CLI定义的命令。
邮箱
在生成tarball之后但在将其移动到最终目的地之前运行(如果存在,发布不会在本地保存tarball)
依赖关系
如果发生更改,则在修改node_modules目录的任何操作之后运行。不在全局模式下运行请注意,这是前脚本和后脚本的补充。要为package.json的“scripts”部分中定义的任何脚本创建“pre”或“post”脚本,只需创建另一个具有匹配名称的脚本,并在它们的开头添加“pre”或“post”。例如
{ "scripts": { "precompress": "{{ executes BEFORE the `compress` script }}", "compress": "{{ run command to compress files }}", "postcompress": "{{ executes AFTER `compress` script }}" } }
1条答案
按热度按时间uxh89sit1#
从npm doc开始,顺序为:
prepare(since npm@4.0.0)
Package 前运行,即在npm publish和npm pack期间
在本地npm install上运行,不带任何参数
在预发布之后但在预发布之前运行
预发布(已弃用)
在npm publish期间不运行,但在npm ci和npm install期间运行。更多信息请参见下文。
仅预发布
在包准备和打包之前运行,仅在npm发布上运行。
**预 Package **
在打包tarball之前运行(在“npm pack”,“npm publish”,以及安装git依赖项时)。注意:“npm run pack”与“npm pack”不同。“npm run pack”是任意用户定义的脚本名称,其中“npm pack”是CLI定义的命令。
邮箱
在生成tarball之后但在将其移动到最终目的地之前运行(如果存在,发布不会在本地保存tarball)
依赖关系
如果发生更改,则在修改node_modules目录的任何操作之后运行。不在全局模式下运行
请注意,这是前脚本和后脚本的补充。
要为package.json的“scripts”部分中定义的任何脚本创建“pre”或“post”脚本,只需创建另一个具有匹配名称的脚本,并在它们的开头添加“pre”或“post”。
例如