npm script命令从另一个package.json运行脚本命令
我有两个使用npm的独立项目,所以我两个都有:npm script命令从另一个package.json运行脚本命令,npm,Npm,我有两个使用npm的独立项目,所以我两个都有: 一些基本文件夹/projectA/package.json和一些基本文件夹/projectB/package.json 每个文件中都有一个脚本部分 如果我转到some\u base\u文件夹/projectA/并运行npm run script test,它会按照应该的方式执行some\u base\u文件夹/projectA/package.json的scripts部分中的test命令 我可以在一些基本文件夹/projectB/package.j
一些基本文件夹/projectA/package.json
和一些基本文件夹/projectB/package.json
每个文件中都有一个脚本部分
如果我转到some\u base\u文件夹/projectA/
并运行npm run script test
,它会按照应该的方式执行some\u base\u文件夹/projectA/package.json的scripts部分中的test命令
我可以在一些基本文件夹/projectB/package.json中放入什么作为脚本的值:{test_projectA:'??}/code>,这样当我在一些基本文件夹/projectB/
中运行npm run script test_projectA时
执行项目A的测试脚本
我尝试了。/projectA/npm运行脚本测试
,但它说:
'..' is not recognized as an internal or external command,
operable program or batch file.
我在windows 7下运行,但更喜欢在linux上也能正常工作的解决方案。事实证明,它非常简单:
"scripts": {
test_projectA:"cd ../projectA && npm run-script test"
}
我最终使用了:
“脚本”:{
“作业”:“cd./sub&\”$npm_execpath\“运行子作业”,
...
}
因为这也适用于您应该使用的纱线
至于纱线:
yarn --cwd path/to/your/other/folder [command]
似乎没有显示我的子进程中的日志语句。您知道如何执行吗?您可以使用--loglevel verbose
另请参见@yellowsir的答案,了解跨包管理器解决方案(也适用于纱线)。对我来说,这是一个显著的改进。对于投票最多的答案,我得到了一些关于冲突bcrypt库版本的错误(我想是因为我使用了NPM库,从中运行命令,在另一个文件夹中运行命令…而不是它自己的文件夹)。通过使用此答案中所示的环境变量,它修复了这一问题。您应该接受此答案IMHO。是的!谢谢!我正在使用Thread,但我不想将Thread命令硬编码到我的package.json中。很遗憾,这不再有效,因为Thread将“按原样”转发参数因此,npm run foo--bar
具有不同的含义,那么warn run foo--bar
OP试图从package.json
而不是从命令中运行它line@MohamedMoselhy没有什么可以阻止您将这些命令放入package.json脚本部分
yarn --cwd path/to/your/other/folder [command]