我有一个带有根文件夹和客户端文件夹的项目,两者都有package.json文件。
在根文件夹上,我永远都不想安装任何软件包。相反,我希望运行该命令$ yarn add some-package会将其自动添加到客户端文件夹中,就像我愿意那样$ yarn add some-package --cwd ./client
我尝试在cd client和yarn --cwd ./client中进行操作scripts.preinstall,但没有成功,我认为是因为preinstall和install是不同的过程。
我还尝试在其上运行cusotm bash脚本,preinstall但没有找到将args从命令行传递给它的方法,因此它们被毛线“弄肿”了。
任何想法如何做到这一点?
我对bash相当陌生,但是我可以在一些指导下研究解决方案。
在此先感谢,祝您度过愉快的一天!
PS。我可以通过在shell上劫持yarn命令来对其进行破解,并检查我是否位于上述项目文件夹中,并且该命令是否为yarn add,但是我希望为所有开发人员提供一个解决方案,而不污染我的shell。
解决方案是使用.yarnrc根项目文件夹中package.json.
将此行添加到.yarnrc:
# install modules in the specified location
--modules-folder ./client
Run Code Online (Sandbox Code Playgroud)
注意:如果您已经有一个node_modules文件夹,请在创建后随意将其删除.yarnrc,然后运行该yarn install文件夹,以便将所有包再次下载到目标目录中。
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |