我正在使用npm 作为构建工具,所以在我package.json
的 中,我的一些脚本依赖于其他脚本:
{
"test": "npm run lint && mocha"
}
这会将npm
包管理器硬编码为package.json
. 如何使这种表达依赖关系的方法同时npm
与 和一起使用yarn
?
我正在使用npm 作为构建工具,所以在我package.json
的 中,我的一些脚本依赖于其他脚本:
{
"test": "npm run lint && mocha"
}
这会将npm
包管理器硬编码为package.json
. 如何使这种表达依赖关系的方法同时npm
与 和一起使用yarn
?
环境变量是$npm_execpath
指构建工具,所以只需替换npm
为$npm_execpath
:
{
"test": "$npm_execpath run lint && mocha"
}
两者都可以工作,npm test
并且yarn test
会使用适当的构建工具。
虽然 mjs 的回答很好,但还有一个小包据称适用于包括 Windows 在内的所有环境:https ://www.npmjs.com/package/yarpm
要在项目中使用,请运行yarn add yarpm --dev
/ npm i -D yarpm
,然后在脚本中使用 yarpm,如下所示:
{
"test": "yarpm run lint && mocha"
}
正如包自述文件所指出的,您只需要确保您的命令适合传递给yarn或npm:您不能使用仅适用于一个包管理器的参数/标志。