我有两个项目需要彼此。
root-app由节点运行。它导入了child-app / index.js。
子应用程序也依赖于root-app。它需要从中导入Component.js。 child-app永远不会独立于root-app运行,它总是由root-app导入。
root-app:
/Component.js
/index.js
/package.json
child-app:
/index.js
/package.json
所以基本上,root-app需要child-app,而child-app需要来自root-app的组件。
根应用程序/ index.js:
import ChildApp from 'child-app';
子应用内/ index.js
import Component from 'root-app/Component';
目前,我的package.json文件如下所示:
根应用程序/的package.json
{
"name": "root-app",
"dependencies": {
"child-app": "file:../child-app"
}
}
子应用内/的package.json
{
"name": "child-app",
"peerDependencies": {
"root-app": "file:../root-app"
}
}
这当然不起作用,我收到错误:
无法解析模块' root-app'从 '根应用程序/ node_modules /儿童应用内/ index.js'
所以我的问题是,有没有办法让这种依赖工作,而不需要创建一个第三个项目,将作为一个桥梁"在这两个项目之间?
谢谢!
答案 0 :(得分:0)
"name":"root-app"
中有child-app/package.json
。但是,最好避免使用软件包之间的循环依赖关系。您可以查看dependency inversion principle以了解如何操作。