我使用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" }
由于包自述文件说明,你只需要确保你的命令,将适合于通过传递给无论是纱线或NPM:不能使用参数/标志,只有在一个包管理工作。