前言
我有一个渐变项目,Bookstore,项目目录看起来有点像:
Bookstore
- bs-application
- bs-config
- bs-controller
- ...
- bs-frontend
- gradle
最近,我们决定暂时集成一个由另一个模块控制的/admin
路由,以便在时机成熟时可以干净地删除它——它还将使用许多额外的库&用于较新前端开发的软件包。
项目目录现在看起来是这样的:(所有内容都分开(
Bookstore
- bs-application
- bs-config
- bs-controller
- ...
- bs-frontend
- gradle
- admin-config
- admin-controller
- admin-sal
- admin-frontend
可能有用的额外信息
在bs-frontend
中,我有我的Bookstore.js
,它本质上是
<BrowserRouter>
<Switch>
<Route exact path='/' component={Home}/>
<Route exact path='/login' component={Login}/>
<Route exact path='/about' component={About}/>
...
...
</Switch>
</BrowserRouter>
我的问题
两者都是基于反应的&当用户点击/admin
时,我希望他们看看admin-frontend
模块下构建了什么。如果这是永久性的,我只需要在bs-frontend
中构建一个Admin
组件,制作另一条路由,然后使用它——但我在这里不能做到这一点如何将这些应用程序集成在一起
我不确定该提供什么信息,因为我不确定什么是有用的,所以请告诉我是否/我可以添加什么来提供更多帮助。
根据我的理解,bs-frontend
和admin-frontend
是两个不同的应用程序,希望在它们之间共享组件
在这种情况下,我们有两种不同的选择。
-
发布为包:您可以将
admin
组件发布为npm包可以在bs-frontend
中作为node_module使用的组件(我相信您在ur.org中有npm私有注册表(
或 - 您可以尝试使用名为">"的webpack 5功能;模块联合">,它将公开组件并可以在您的
bs-frontend
应用程序中消费