gpt4 book ai didi

node.js - 在package.json中运行另一个yarn/npm任务,而不指定yarn或npm

转载 作者:太空宇宙 更新时间:2023-11-04 01:17:24 25 4
gpt4 key购买 nike

我的 package.json 中有一个任务“deploy”,它需要首先调用“build”。我已经这样指定了:

"deploy": "yarn run build; ./deploy.sh",

问题在于,这将 yarn 硬编码为包管理器。因此,如果有人不使用yarn,它就不起作用。切换到 npm 会导致类似的问题。

在不选择 npmyarn 的情况下实现这一目标的好方法是什么?

最佳答案

一种简单的方法是使用 npm-run-all包,其文档说明:

Yarn Compatibility

If a script is invoked with Yarn, npm-run-all will correctly use Yarn to execute the plan's child scripts.

所以你可以这样做:

"predeploy": "run-s build",
"deploy": "./deploy.sh",

并且predeploy步骤将使用npm或yarn,具体取决于您调用deploy任务的方式。

我认为让 package.json 中的运行保持与包管理器无关是件好事,这样它们就不会与特定的包管理器绑定(bind),但在项目中,同意使用单个包管理器可能是谨慎的做法包管理器,这样您就不会处理冲突的锁定文件。

关于node.js - 在package.json中运行另一个yarn/npm任务,而不指定yarn或npm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60461070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com